video_info 2.6.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/workflows/unit_test.yml +39 -0
- data/.gitignore +0 -1
- data/.rubocop.yml +242 -1
- data/CONTRIBUTING.md +11 -0
- data/Gemfile +1 -1
- data/Guardfile +2 -2
- data/README.md +29 -7
- data/lib/video_info.rb +25 -28
- data/lib/video_info/provider.rb +25 -12
- data/lib/video_info/providers/dailymotion.rb +19 -3
- data/lib/video_info/providers/vimeo.rb +3 -3
- data/lib/video_info/providers/vimeo_api.rb +20 -11
- data/lib/video_info/providers/vimeo_scraper.rb +93 -23
- data/lib/video_info/providers/wistia.rb +2 -1
- data/lib/video_info/providers/youtube.rb +16 -2
- data/lib/video_info/providers/youtube_api.rb +42 -8
- data/lib/video_info/providers/youtube_scraper.rb +64 -31
- data/lib/video_info/providers/youtubeplaylist.rb +5 -2
- data/lib/video_info/providers/youtubeplaylist_api.rb +22 -1
- data/lib/video_info/providers/youtubeplaylist_scraper.rb +16 -3
- data/lib/video_info/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_invalid_video_url/_available_/1_2_2_1_1.yml +82 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_valid_video/_available_/1_2_1_1_1.yml +87 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author/1_3_7_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_thumbnail/1_3_9_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_url/1_3_8_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_date/should_show_correct_date.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_description/1_3_10_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_duration/1_3_12_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_keywords/1_3_11_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail/1_3_21_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_large/1_3_18_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_medium/1_3_17_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_small/1_3_16_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_title/1_3_6_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_view_count/1_3_22_1.yml +91 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/1_2_3_1_1.yml +151 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/2_2_3_1_1.yml +68 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/1_2_2_1_1.yml +127 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/2_2_2_1_1.yml +70 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/1_2_1_1_1.yml +158 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/2_2_1_1_1.yml +68 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_13_2_1.yml +130 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_13_3_1.yml +130 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_13_4_1.yml +132 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_13_1_1.yml +130 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_13_7_1.yml +128 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_13_6_1.yml +131 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_13_8_1.yml +130 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_13_10_1.yml +131 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_13_9_1.yml +128 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_13_14_1.yml +129 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_13_13_1.yml +129 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_13_12_1.yml +129 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_13_5_1.yml +130 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_13_15_1.yml +129 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_13_11_1.yml +129 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_20_1.yml +158 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_20_1.yml +80 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_19_1.yml +158 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_19_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_21_1.yml +159 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_21_1.yml +80 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_date/should_have_correct_upload_date.yml +240 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/1_3_7_1.yml +160 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/2_3_7_1.yml +80 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/1_3_9_1.yml +158 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/2_3_9_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/1_3_11_1.yml +158 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/2_3_11_1.yml +80 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_keywords/should_return_a_string_list_of_keywords.yml +240 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_18_1.yml +236 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_18_1.yml +82 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/1_3_15_1.yml +236 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/2_3_15_1.yml +82 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/1_3_14_1.yml +235 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/2_3_14_1.yml +84 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/1_3_13_1.yml +236 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/2_3_13_1.yml +84 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/1_3_6_1.yml +159 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/2_3_6_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_22_1.yml +158 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_22_1.yml +84 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/1_3_10_1.yml +156 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/2_3_10_1.yml +82 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/1_12_1_1.yml +234 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail/2_12_1_1.yml +78 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/1_12_2_1.yml +233 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_large/2_12_2_1.yml +78 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/1_12_3_1.yml +235 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_medium/2_12_3_1.yml +73 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/1_12_4_1.yml +234 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_141349194/thumbnail_small/2_12_4_1.yml +77 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_invalid_video/_available_/1_2_2_1_1.yml +75 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_valid_video/_available_/1_2_1_1_1.yml +79 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_duration/1_4_7_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_height/1_4_9_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_large/1_4_12_1.yml +86 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_medium/1_4_11_1.yml +86 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_small/1_4_10_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_title/1_4_6_1.yml +86 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_width/1_4_8_1.yml +86 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_duration/1_3_7_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_height/1_3_9_1.yml +87 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail/1_3_15_1.yml +87 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_large/1_3_12_1.yml +87 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_medium/1_3_11_1.yml +87 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_small/1_3_10_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_title/1_3_6_1.yml +85 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_width/1_3_8_1.yml +87 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_2_1_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_2_1_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_2_11_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_2_11_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_2_8_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_2_8_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_2_10_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_2_10_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_2_9_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_2_9_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_2_7_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_2_7_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_18_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_18_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/1_2_1_1_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/2_2_1_1_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_3_1_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_3_1_1.yml +114 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_a_video_without_description/_description/1_1_1_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_date/should_return_date_video_was_posted.yml +249 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/1_17_7_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/2_17_7_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/1_17_9_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/2_17_9_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/1_17_8_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/2_17_8_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/1_17_6_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/2_17_6_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_17_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_17_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/1_3_6_1.yml +115 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/2_3_6_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/1_3_7_1.yml +115 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/2_3_7_1.yml +335 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/1_3_8_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/2_3_8_1.yml +335 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/can_be_called_twice_and_receive_the_same_value.yml +391 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_date/should_return_date_video_was_posted.yml +243 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/1_3_10_1.yml +60 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/2_3_10_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/1_3_12_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/2_3_12_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/1_3_11_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/2_3_11_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/1_3_9_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/2_3_9_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_21_1.yml +59 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_21_1.yml +187 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/1_2_2_1_1.yml +120 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/1_2_3_1_1.yml +154 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/1_2_1_1_1.yml +154 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_21_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_22_1.yml +274 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_23_1.yml +274 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/1_3_7_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/1_3_8_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_18_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/1_3_15_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large_2x/1_3_16_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_maxres/1_3_17_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/1_3_14_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/1_3_13_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/1_3_6_1.yml +165 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_videos/returns_list_of_videos_in_playlist.yml +112 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/1_4_2_1.yml +114 -0
- data/spec/lib/video_info/provider_spec.rb +42 -22
- data/spec/lib/video_info/providers/dailymotion_spec.rb +75 -27
- data/spec/lib/video_info/providers/vimeo_spec.rb +270 -174
- data/spec/lib/video_info/providers/wistia_spec.rb +59 -20
- data/spec/lib/video_info/providers/youtube_playlist_spec.rb +97 -41
- data/spec/lib/video_info/providers/youtube_scraper_spec.rb +14 -0
- data/spec/lib/video_info/providers/youtube_spec.rb +441 -384
- data/spec/lib/video_info_spec.rb +27 -25
- data/spec/spec_helper.rb +6 -1
- data/tmp/rspec_guard_result +25 -0
- data/video_info.gemspec +11 -14
- metadata +358 -100
- data/.travis.yml +0 -13
- data/foo.txt +0 -33
- data/lib/video_info/providers/vkontakte.rb +0 -170
- data/spec/lib/video_info/providers/vimeo_api_spec.rb +0 -242
- data/spec/lib/video_info/providers/vkontakte_spec.rb +0 -173
- data/spec/lib/video_info/providers/youtube_api_spec.rb +0 -476
- data/spec/lib/video_info/providers/youtube_playlist_api_spec.rb +0 -187
@@ -0,0 +1,59 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.youtube.com/watch?v=SUkXvWn1m7Q
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Expires:
|
22
|
+
- Tue, 27 Apr 1971 19:44:06 GMT
|
23
|
+
Strict-Transport-Security:
|
24
|
+
- max-age=31536000
|
25
|
+
X-Frame-Options:
|
26
|
+
- SAMEORIGIN
|
27
|
+
Content-Type:
|
28
|
+
- text/html; charset=utf-8
|
29
|
+
P3p:
|
30
|
+
- CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=pt-BR
|
31
|
+
for more info."
|
32
|
+
Cache-Control:
|
33
|
+
- no-cache
|
34
|
+
X-Content-Type-Options:
|
35
|
+
- nosniff
|
36
|
+
Date:
|
37
|
+
- Tue, 27 Oct 2020 18:33:33 GMT
|
38
|
+
Server:
|
39
|
+
- YouTube Frontend Proxy
|
40
|
+
X-Xss-Protection:
|
41
|
+
- '0'
|
42
|
+
Set-Cookie:
|
43
|
+
- GPS=1; path=/; domain=.youtube.com; expires=Tue, 27-Oct-2020 19:03:33 GMT
|
44
|
+
- VISITOR_INFO1_LIVE=942xIUdwk-Y; path=/; domain=.youtube.com; secure; expires=Sun,
|
45
|
+
25-Apr-2021 18:33:33 GMT; httponly; samesite=None
|
46
|
+
- YSC=U-CtZt9CCBs; path=/; domain=.youtube.com; secure; httponly; samesite=None
|
47
|
+
Alt-Svc:
|
48
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
49
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
50
|
+
ma=2592000; v="46,43"
|
51
|
+
Transfer-Encoding:
|
52
|
+
- chunked
|
53
|
+
body:
|
54
|
+
encoding: ASCII-8BIT
|
55
|
+
string: !binary |-
|
56
|
+
PCFkb2N0eXBlIGh0bWw+PGh0bWwgIHN0eWxlPSJmb250LXNpemU6IDEwcHg7Zm9udC1mYW1pbHk6IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IiBsYW5nPSJwdC1CUiIgZGlyPSJsdHIiIGdsPSJCUiI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIwLTEwLTIzIiBjb250ZW50PSJBaGJtUkRBU1k3TnVPWkQ5Y0ZNZ1FpaForbVFwQ3dhOFdUR2RUeDgydlNhcjlkZEJRYnppQmZaWFpnK1Njb2Z2RVpEZEhRTkNFd3o0eU03SGpCUzlSZ2tBQUFCbmV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwzbHZkWFIxWW1VdVkyOXRPalEwTXlJc0ltWmxZWFIxY21VaU9pSlhaV0pEYjIxd2IyNWxiblJ6VmpBaUxDSmxlSEJwY25raU9qRTJNRE0wT0RZNE5UWXNJbWx6VTNWaVpHOXRZV2x1SWpwMGNuVmxmUT09Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMC0xMC0yNyIgY29udGVudD0iQXYyKzFxZlVwM013RWZBRmNDY2N5a1MxcUZtdkxpQ3JNWi8vcEhRS25SWldHOWRsZFZvOEhZdUptR2oyd1o3bkRnK3hFNFJRTVErS3UxektNM1B2WUFJQUFBQm1leUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pTNWpiMjA2TkRReklpd2labVZoZEhWeVpTSTZJbGRsWWtOdmJYQnZibVZ1ZEhOV01DSXNJbVY0Y0dseWVTSTZNVFl3TXpnek5qYzNNaXdpYVhOVGRXSmtiMjFoYVc0aU9uUnlkV1Y5Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMS0wMS0wOCIgY29udGVudD0iQWl4VUsrOFVFU2hsdDYrSlgxd3k5ZWcrWEwrZVY1UFlTRURQSDNDOTBKTlZiSWtFMVJnMUZ5VlVmdTJiWi95NlBtMXhiUEx6dXdIWUhqdjR1S1BObkE0QUFBQnFleUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pYQnliMlF1WTI5dE9qUTBNeUlzSW1abFlYUjFjbVVpT2lKWFpXSkRiMjF3YjI1bGJuUnpWakFpTENKbGVIQnBjbmtpT2pFMk1UQXdOalEwTWpNc0ltbHpVM1ZpWkc5dFlXbHVJanAwY25WbGZRPT0iPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIxLTAzLTA5IiBjb250ZW50PSJBaEhwcTJuVVQ2ZnFQMEtta3E0OUVXSWNsMlAxTEsxY2VVMDVCb2lWbldpOFpJV0RkbVgva013TCtadHVDM29JZjB0bnM4WG5PNWZtOTQ2SkV6UFZFd2dBQUFCcWV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwyTXVaMjl2WjJ4bGNuTXVZMjl0T2pRME15SXNJbVpsWVhSMWNtVWlPaUpYWldKRGIyMXdiMjVsYm5SelZqQWlMQ0psZUhCcGNua2lPakUyTVRJeU1qTTVPVGtzSW1selUzVmlaRzl0WVdsdUlqcDBjblZsZlE9PSI+PHNjcmlwdCA+dmFyIHl0Y2ZnID0ge2Q6IGZ1bmN0aW9uKCkge3JldHVybiAod2luZG93Lnl0ICYmIHl0LmNvbmZpZ18pIHx8IHl0Y2ZnLmRhdGFfIHx8ICh5dGNmZy5kYXRhXyA9IHt9KTt9LGdldDogZnVuY3Rpb24oaywgbykge3JldHVybiAoayBpbiB5dGNmZy5kKCkpID8geXRjZmcuZCgpW2tdIDogbzt9LHNldDogZnVuY3Rpb24oKSB7dmFyIGEgPSBhcmd1bWVudHM7aWYgKGEubGVuZ3RoID4gMSkge3l0Y2ZnLmQoKVthWzBdXSA9IGFbMV07fSBlbHNlIHtmb3IgKHZhciBrIGluIGFbMF0pIHt5dGNmZy5kKClba10gPSBhWzBdW2tdO319fX07d2luZG93Lnl0Y2ZnLnNldCgnRU1FUkdFTkNZX0JBU0VfVVJMJywgIlwvZXJyb3JfMjA0P2NsaWVudC5uYW1lPTFcdTAwMjZjbGllbnQudmVyc2lvbj0yLjIwMjAxMDIzLjAyLjAwXHUwMDI2bGV2ZWw9RVJST1JcdTAwMjZ0PWpzZXJyb3IiKTs8L3NjcmlwdD4gIAo8c2NyaXB0ID52YXIgJGpzY29tcD0kanNjb21wfHx7fTskanNjb21wLnNjb3BlPXt9OyRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGw9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19OyRqc2NvbXAuYXJyYXlJdGVyYXRvcj1mdW5jdGlvbihhKXtyZXR1cm57bmV4dDokanNjb21wLmFycmF5SXRlcmF0b3JJbXBsKGEpfX07JGpzY29tcC5BU1NVTUVfRVM1PSExOyRqc2NvbXAuQVNTVU1FX05PX05BVElWRV9NQVA9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX1NFVD0hMTskanNjb21wLlNJTVBMRV9GUk9VTkRfUE9MWUZJTEw9ITE7JGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz0hMTskanNjb21wLkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTj0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO307JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAuSVNfU1lNQk9MX05BVElWRT0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sKCJ4Iik7JGpzY29tcC5UUlVTVF9FUzZfUE9MWUZJTExTPSEkanNjb21wLklTT0xBVEVfUE9MWUZJTExTfHwkanNjb21wLklTX1NZTUJPTF9OQVRJVkU7JGpzY29tcC5wb2x5ZmlsbHM9e307JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2w9e307JGpzY29tcC5QT0xZRklMTF9QUkVGSVg9IiRqc2NwJCI7JGpzY29tcC5wb2x5ZmlsbD1mdW5jdGlvbihhLGIsZCxlKXtiJiYoJGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz8kanNjb21wLnBvbHlmaWxsSXNvbGF0ZWQoYSxiLGQsZSk6JGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQoYSxiLGQsZSkpfTsKJGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQ9ZnVuY3Rpb24oYSxiKXt2YXIgZD0kanNjb21wLmdsb2JhbDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGU9MDtlPGEubGVuZ3RoLTE7ZSsrKXt2YXIgYz1hW2VdO2lmKCEoYyBpbiBkKSlyZXR1cm47ZD1kW2NdfWE9YVthLmxlbmd0aC0xXTtlPWRbYV07Yj1iKGUpO2IhPWUmJm51bGwhPWImJiRqc2NvbXAuZGVmaW5lUHJvcGVydHkoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKJGpzY29tcC5wb2x5ZmlsbElzb2xhdGVkPWZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLnNwbGl0KCIuIik7YT0xPT09ZS5sZW5ndGg7dmFyIGM9ZVswXTtjPSFhJiZjIGluICRqc2NvbXAucG9seWZpbGxzPyRqc2NvbXAucG9seWZpbGxzOiRqc2NvbXAuZ2xvYmFsO2Zvcih2YXIgZj0wO2Y8ZS5sZW5ndGgtMTtmKyspe3ZhciBnPWVbZl07aWYoIShnIGluIGMpKXJldHVybjtjPWNbZ119ZT1lW2UubGVuZ3RoLTFdO2Q9JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFJiYiZXM2Ij09PWQ/Y1tlXTpudWxsO2I9YihkKTtudWxsIT1iJiYoYT8kanNjb21wLmRlZmluZVByb3BlcnR5KCRqc2NvbXAucG9seWZpbGxzLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSk6YiE9PWQmJigkanNjb21wLnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbFtlXT0kanNjb21wLklTX1NZTUJPTF9OQVRJVkU/JGpzY29tcC5nbG9iYWwuU3ltYm9sKGUpOiRqc2NvbXAuUE9MWUZJTExfUFJFRklYK2UsCmU9JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbZV0sJGpzY29tcC5kZWZpbmVQcm9wZXJ0eShjLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSkpKX07JGpzY29tcC5pbml0U3ltYm9sPWZ1bmN0aW9uKCl7fTsKJGpzY29tcC5wb2x5ZmlsbCgiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGMsZil7dGhpcy4kanNjb21wJHN5bWJvbCRpZF89YzskanNjb21wLmRlZmluZVByb3BlcnR5KHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kanNjb21wJHN5bWJvbCRpZF99O3ZhciBkPTAsZT1mdW5jdGlvbihjKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGIoImpzY29tcF9zeW1ib2xfIisoY3x8IiIpKyJfIitkKyssYyl9O3JldHVybiBlfSwiZXM2IiwiZXMzIik7CiRqc2NvbXAucG9seWZpbGwoIlN5bWJvbC5pdGVyYXRvciIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTthPVN5bWJvbCgiU3ltYm9sLml0ZXJhdG9yIik7Zm9yKHZhciBiPSJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSIuc3BsaXQoIiAiKSxkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPSRqc2NvbXAuZ2xvYmFsW2JbZF1dOyJmdW5jdGlvbiI9PT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUucHJvdG90eXBlW2FdJiYkanNjb21wLmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiAkanNjb21wLml0ZXJhdG9yUHJvdG90eXBlKCRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGwodGhpcykpfX0pfXJldHVybiBhfSwiZXM2IiwKImVzMyIpOyRqc2NvbXAuaXRlcmF0b3JQcm90b3R5cGU9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9OyRqc2NvbXAuaXRlcmF0b3JGcm9tQXJyYXk9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBkPTAsZT0hMSxjPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWUmJmQ8YS5sZW5ndGgpe3ZhciBmPWQrKztyZXR1cm57dmFsdWU6YihmLGFbZl0pLGRvbmU6ITF9fWU9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2NbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBjfTtyZXR1cm4gY307CiRqc2NvbXAucG9seWZpbGwoIkFycmF5LnByb3RvdHlwZS5rZXlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmE9ZnVuY3Rpb24oKXtyZXR1cm4gJGpzY29tcC5pdGVyYXRvckZyb21BcnJheSh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBifSl9fSwiZXM2IiwiZXMzIik7d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8ITA7d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXM9e307d2luZG93LnVuaGFuZGxlZEVycm9yQ291bnQ9MDsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsZSxjKXtjfHwoYz1FcnJvcigpLGMuc3RhY2s9IiIsYy5tZXNzYWdlPWEsYy5maWxlTmFtZT1iLGMubGluZU51bWJlcj1kLGlzTmFOKGUpfHwoYy5jb2x1bW5OdW1iZXI9ZSkpO2I9U3RyaW5nKGMubWVzc2FnZSk7aWYoISghYy5tZXNzYWdlfHxiIGluIHdpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzfHw1PD13aW5kb3cudW5oYW5kbGVkRXJyb3JDb3VudCkpe3dpbmRvdy51bmhhbmRsZWRFcnJvckNvdW50Kz0xO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW2JdPSEwO2E9bmV3IEltYWdlO3dpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nPWE7YS5vbmxvYWQ9YS5vbmVycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIHdpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nfTtlPWMubGluZU51bWJlcjtpc05hTihjLmNvbHVtbk51bWJlcil8fChlKz0iOiIrYy5jb2x1bW5OdW1iZXIpO2Q9Yy5zdGFja3x8IiI7Yj17bXNnOmIsdHlwZTpjLm5hbWUsCiJjbGllbnQucGFyYW1zIjoidW5oYW5kbGVkIHdpbmRvdyBlcnJvciIsZmlsZTpjLmZpbGVOYW1lLGxpbmU6ZSxzdGFjazpkLnN1YnN0cigwLDUwMCl9O2M9Ijxhbm9ueW1vdXM+Ij09PWMuZmlsZU5hbWU7ZD1kLnJlcGxhY2UoL2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cLy9nLCIiKTtkLm1hdGNoKC9odHRwcz86XC9cL1teL10rXC8vKSYmKGM9ITApO2MmJihiLmxldmVsPSJXQVJOSU5HIik7Yz1bd2luZG93Lnl0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZXJyb3JfMjA0P3Q9anNlcnJvciZsZXZlbD1FUlJPUiIpXTtmb3IodmFyIGYgaW4gYikoZD1iW2ZdKSYmYy5wdXNoKGYrIj0iK2VuY29kZVVSSUNvbXBvbmVudChkKSk7YS5zcmM9Yy5qb2luKCImIil9fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShmKXt2YXIgZz10aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdO2lmKCFnKXtnPU9iamVjdC5jcmVhdGUodGhpcy5nZXROYXRpdmVQcm90b3R5cGUoZikpO2Zvcih2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cuUG9seW1lci5CYXNlKSxrPTAsaD12b2lkIDA7azxsLmxlbmd0aCYmKGg9bFtrXSk7aysrKWlmKCF3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnNbaF0pdHJ5e2dbaF09d2luZG93LlBvbHltZXIuQmFzZVtoXX1jYXRjaChtKXt0aHJvdyBFcnJvcigiRXJyb3Igd2hpbGUgY29weWluZyBwcm9wZXJ0eTogIitoKyIuIFRhZyBpcyAiK2YpO310cnl7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZyx3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnMpfWNhdGNoKG0pe3Rocm93IEVycm9yKCJQb2x5bWVyIGRlZmluZSBwcm9wZXJ0eSBmYWlsZWQgZm9yICIrT2JqZWN0LmtleXMoZykpO310aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdPQpnfXJldHVybiBnfWZ1bmN0aW9uIGIoZil7d2luZG93Lm9uZXJyb3IoZix3aW5kb3cubG9jYXRpb24uaHJlZiwwLDAsRXJyb3IoQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVudHMsIiwiKSkpfXZhciBkPXdpbmRvdy5Qb2x5bWVyLGU9ZnVuY3Rpb24oZil7IWQuX3l0SW50ZXJjZXB0ZWQmJndpbmRvdy5Qb2x5bWVyLkJhc2UmJihkLl95dEludGVyY2VwdGVkPSEwLHdpbmRvdy5Qb2x5bWVyLkJhc2UuX2dldEV4dGVuZGVkTmF0aXZlUHJvdG90eXBlPWEsd2luZG93LlBvbHltZXIuQmFzZS5fZXJyb3I9Yix3aW5kb3cuUG9seW1lci5CYXNlLl93YXJuPWIpO3JldHVybiBkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywiUG9seW1lciIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csIlBvbHltZXIiLHtzZXQ6ZnVuY3Rpb24oZil7YyYmYy5zZXQmJmMuZ2V0PyhjLnNldChmKSxkPWMuZ2V0KCkpOmQ9ZjsKImZ1bmN0aW9uIj09PXR5cGVvZiBkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJQb2x5bWVyIix7dmFsdWU6ZCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMH0pfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGQ/ZTpkfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pfSkoKTsKPC9zY3JpcHQ+ICAKPHNjcmlwdCA+d2luZG93LlNoYWR5RE9NID0ge2ZvcmNlOiB0cnVlfTt3aW5kb3cuU2hhZHlET00ucHJlZmVyUGVyZm9ybWFuY2UgPSB0cnVlO3dpbmRvdy5TaGFkeURPTS5ub1BhdGNoID0gdHJ1ZTt3aW5kb3cuUG9seW1lciA9ICh3aW5kb3cuUG9seW1lciB8fCB7fSk7d2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9ucyA9IHRydWU7PC9zY3JpcHQ+PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8zMi5wbmciIHNpemVzPSIzMngzMiIgPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2ltZy9mYXZpY29uXzQ4LnBuZyIgc2l6ZXM9IjQ4eDQ4IiA+PGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb25fOTYucG5nIiBzaXplcz0iOTZ4OTYiID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8xNDQucG5nIiBzaXplcz0iMTQ0eDE0NCIgPjxzY3JpcHQgPnZhciB5dGNzaSA9IHtndDogZnVuY3Rpb24obikge24gPSAobiB8fCAnJykgKyAnZGF0YV8nO3JldHVybiB5dGNzaVtuXSB8fCAoeXRjc2lbbl0gPSB7dGljazoge30saW5mbzoge319KTt9LG5vdzogKHdpbmRvdy5wZXJmb3JtYW5jZSAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nICYmd2luZG93LnBlcmZvcm1hbmNlLm5vdyAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCkgP2Z1bmN0aW9uKCkge3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCArd2luZG93LnBlcmZvcm1hbmNlLm5vdygpO30gOmZ1bmN0aW9uKCkge3JldHVybiAobmV3IERhdGUoKSkuZ2V0VGltZSgpO30sdGljazogZnVuY3Rpb24obCwgdCwgbikge3ZhciB0aWNrcyA9IHl0Y3NpLmd0KG4pLnRpY2s7dmFyIHYgPSB0IHx8IHl0Y3NpLm5vdygpO2lmICh0aWNrc1tsXSkge3RpY2tzWydfJyArIGxdID0gKHRpY2tzWydfJyArIGxdIHx8IFt0aWNrc1tsXV0pO3RpY2tzWydfJyArIGxdLnB1c2godik7fXRpY2tzW2xdID0gdjt9LGluZm86IGZ1bmN0aW9uKGssIHYsIG4pIHt5dGNzaS5ndChuKS5pbmZvW2tdID0gdjt9LHNldFN0YXJ0OiBmdW5jdGlvbihzLCB0LCBuKSB7eXRjc2kuaW5mbygneXRfc3RzJywgcywgbik7eXRjc2kudGljaygnX3N0YXJ0JywgdCwgbik7fX07KGZ1bmN0aW9uKHcsIGQpIHt5dGNzaS5zZXRTdGFydCgnZGhzJywgdy5wZXJmb3JtYW5jZSA/IHcucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgOiBudWxsKTt2YXIgaXNQcmVyZW5kZXIgPSAoZC52aXNpYmlsaXR5U3RhdGUgfHwgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpID09ICdwcmVyZW5kZXInO3ZhciB2TmFtZSA9ICghZC52aXNpYmlsaXR5U3RhdGUgJiYgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPyAnd2Via2l0dmlzaWJpbGl0eWNoYW5nZScgOiAndmlzaWJpbGl0eWNoYW5nZSc7aWYgKGlzUHJlcmVuZGVyKSB7eXRjc2kuaW5mbygncHJlcmVuZGVyJywgMSk7dmFyIHN0YXJ0VGljayA9IGZ1bmN0aW9uKCkge3l0Y3NpLnNldFN0YXJ0KCdkaHMnKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljayk7fTtkLmFkZEV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljaywgZmFsc2UpO31pZiAoZC5hZGRFdmVudExpc3RlbmVyKSB7ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLCBmdW5jdGlvbigpIHt5dGNzaS50aWNrKCd2YycpO30sIGZhbHNlKTt9ZnVuY3Rpb24gaXNHZWNrbygpIHtpZiAoIXcubmF2aWdhdG9yIHx8ICF3Lm5hdmlnYXRvci51c2VyQWdlbnQpIHtyZXR1cm4gZmFsc2U7fXZhciB1YSA9IHcubmF2aWdhdG9yLnVzZXJBZ2VudDtyZXR1cm4gdWEuaW5kZXhPZignR2Vja28nKSA+IDAgJiZ1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3dlYmtpdCcpIDwgMCAmJnVhLmluZGV4T2YoJ0VkZ2UnKSA8IDAgJiZ1YS5pbmRleE9mKCdUcmlkZW50JykgPCAwICYmdWEuaW5kZXhPZignTVNJRScpIDwgMDt9aWYgKGlzR2Vja28oKSkge3ZhciBpc0hpZGRlbiA9IChkLnZpc2liaWxpdHlTdGF0ZSB8fCBkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSkgPT0gJ2hpZGRlbic7aWYgKGlzSGlkZGVuKSB7eXRjc2kudGljaygndmMnKTt9fXZhciBzbHQgPSBmdW5jdGlvbihlbCwgdCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7dmFyIG4gPSB5dGNzaS5ub3coKTtlbC5sb2FkVGltZSA9IG47aWYgKGVsLnNsdCkge2VsLnNsdCgpO319LCB0KTt9O3cuX195dFJJTCA9IGZ1bmN0aW9uKGVsKSB7aWYgKCFlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGh1bWInKSkge2lmICh3LnJlcXVlc3RBbmltYXRpb25GcmFtZSkge3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkge3NsdChlbCwgMCk7fSk7fSBlbHNlIHtzbHQoZWwsIDE2KTt9fX07fSkod2luZG93LCBkb2N1bWVudCk7PC9zY3JpcHQ+PHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBpbWcgPSBuZXcgSW1hZ2UoKS5zcmMgPSAiaHR0cHM6Ly9pLnl0aW1nLmNvbS9nZW5lcmF0ZV8yMDQiO30pKCk7PC9zY3JpcHQ+ICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImxwY3MiLCBudWxsLCAnJyk7fShmdW5jdGlvbigpIHt3aW5kb3cueXRwbGF5ZXIgPSB7fTt5dGNmZy5zZXQoeyJJU19UQUJMRVQiOmZhbHNlLCJTVFMiOjE4NTYxLCJERUZFUlJFRF9ERVRBQ0giOnRydWUsIlNJR05JTl9VUkwiOiJodHRwczpcL1wvYWNjb3VudHMuZ29vZ2xlLmNvbVwvU2VydmljZUxvZ2luP2NvbnRpbnVlPWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2YXBwJTNEZGVza3RvcCUyNmZlYXR1cmUlM0RfX0ZFQVRVUkVfXyUyNmhsJTNEcHQlMjZuZXh0JTNEJTI1MkZ3YXRjaCUyNTNGdiUyNTNEU1VrWHZXbjFtN1FcdTAwMjZobD1wdC1CUlx1MDAyNnBhc3NpdmU9dHJ1ZVx1MDAyNnNlcnZpY2U9eW91dHViZVx1MDAyNnVpbGVsPTMiLCJZUENfTUJfVVJMIjoiaHR0cHM6XC9cL3BheW1lbnRzLnlvdXR1YmUuY29tXC9wYXltZW50c1wvdjRcL2pzXC9pbnRlZ3JhdG9yLmpzP3NzPW1kIiwiQ0xJRU5UX1BST1RPQ09MIjoiSFRUUFwvMS4xIiwiQVNZTkNfV0FUQ0giOnRydWUsIllUUl9GQU1JTFlfQ1JFQVRJT05fVVJMIjoiaHR0cHM6XC9cL2ZhbWlsaWVzLmdvb2dsZS5jb21cL3dlYmNyZWF0aW9uP3VzZWdhcGk9MSIsIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS55dGZlLmRlc2t0b3BfMjAyMDEwMjJfMl9SQzAiLCJaV0lFQkFDS19QSU5HX1VSTFMiOlsiaHR0cHM6XC9cL3d3dy5nb29nbGUuY29tLmJyXC9wYWdlYWRcL2x2ej9ldnRpZD1BS0I3OGNpQnZmeVJGVXRYeGZRaV9uZDV5V3RDanhUNTNCWlhBVEt3eS1RMUhsWHBybzhvbG1JVjMtS0pVRUoyWnJJRHBFS0ppSWh4d196TTNpdTVJb2tKMms0bW5odHdVUVx1MDAyNnJlcV90cz0xNjAzODIzNjEzXHUwMDI2cGc9d2F0Y2hcdTAwMjZzaWdoPUFLRnB5WVhvaUdqVlZiVGN2S29Bclk3UlZZTU8xUFRIdGciLCJodHRwczpcL1wvd3d3Lmdvb2dsZS5jb21cL3BhZ2VhZFwvbHZ6P2V2dGlkPUFLQjc4Y2c2Rl9QX3lmZG1wdnFNZ0FjYkI1SWtiT21vdlNsYl9SQWp5TWdFNndpdXlucVM5MGo5b0hBREp1ekY4NFZNODRQZXhxZk5ETXhwLWtOVzl1Um9kMDFSSkR6QVZ3XHUwMDI2cmVxX3RzPTE2MDM4MjM2MTNcdTAwMjZwZz13YXRjaFx1MDAyNnNpZ2g9QUtGcHlZWGFnd2diVUt4azdFUldOcGU4WWxYQ0FLVlc0ZyJdLCJJTk5FUlRVQkVfQVBJX1ZFUlNJT04iOiJ2MSIsIklOTkVSVFVCRV9DT05URVhUX0hMIjoicHQiLCJSRUNBUFRDSEFfVjNfU0lURUtFWSI6IjZMZWRvT2NVQUFBQUFIQTRDRkc5elJwYUNOallqMzNTWWp6UTljVHkiLCJTVEFNUEVSX1NUQUJMRV9MSVNUIjp0cnVlLCJJTk5FUlRVQkVfQVBJX0tFWSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsIlZBUklBTlRTX0NIRUNLU1VNIjoiYTk1MDRlNmRjMzU1ZDZkZTEyOTI1OGY0ZGRmMWVkNDEiLCJFWFBFUklNRU5UX0ZMQUdTIjp7Imtldmxhcl9vbmVfcGlja19hZGRfdmlkZW9fdG9fcGxheWxpc3QiOnRydWUsImtldmxhcl9zbmFwX3N0YXRlX3JlZnJlc2giOnRydWUsInNlcnZlX3BkcF9hdF9jYW5vbmljYWxfdXJsIjp0cnVlLCJrZXZsYXJfcGxheWVyX3BsYXlsaXN0X3VzZV9sb2NhbF9pbmRleCI6dHJ1ZSwia2V2bGFyX2dhaWFfbGluayI6dHJ1ZSwia2V2bGFyX3BsYXllcl9kaXNhYmxlX3J2c191cGRhdGUiOnRydWUsImxpdmVfY2hhdF91c2VfeW91dHViZV9ob3N0ZWRfdGFuZ29fZG9tYWlucyI6dHJ1ZSwiZW5hYmxlX3N0cmVhbWxpbmVfcmVwb3N0X2Zsb3ciOnRydWUsImtldmxhcl90aHVtYm5haWxfb3ZlcmxheV9uZXdfZWxlbWVudHBvb2xfc2NoZWR1bGUiOnRydWUsInBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGUiOnRydWUsImtldmxhcl9taW5pcGxheWVyX3F1ZXVlX3VzZXJfYWN0aXZhdGlvbiI6dHJ1ZSwiZGVza3RvcF9zZWFyY2hfcHJvbWluZW50X3RodW1icyI6dHJ1ZSwiYXV0b2VzY2FwZV90ZW1wZGF0YV91cmwiOnRydWUsImtldmxhcl9vcF9pbmZyYSI6dHJ1ZSwia2V2bGFyX2NsaWVudF9zYXZlX3N1YnNfcHJlZmVyZW5jZXMiOnRydWUsInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIjp0cnVlLCJrZXZsYXJfc2V0dGluZ3NfYWR2YW5jZWQiOnRydWUsImVuYWJsZV9hbHBhY2FfY2xpZW50X3BsYXllcl9jaGFuZ2VzIjp0cnVlLCJlbmFibGVfc2VydmxldF9lcnJvcnNfc3RyZWFteiI6dHJ1ZSwiZGVza3RvcF9jbGllbnRfcmVsZWFzZSI6dHJ1ZSwia2V2bGFyX2tleWJvYXJkX2J1dHRvbl9mb2N1cyI6dHJ1ZSwiZGVza3RvcF90aGVtZWFibGVfdnVsY2FuIjp0cnVlLCJ3ZWJfc2NyZWVuX2Fzc29jaWF0ZWRfYWxsX2xheWVycyI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3dhdGNoX3BhZ2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfbGNyX2Jyb2FkY2FzdF9lZGl0b3IiOnRydWUsIm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpIjp0cnVlLCJwcmVmZXRjaF9jb21tZW50c19tc19hZnRlcl92aWRlbyI6MCwiZGVza3RvcF9wZXJzaXN0ZW50X21lbnUiOnRydWUsImtldmxhcl9ob21lX3NrZWxldG9uX2hpZGVfbGF0ZXIiOnRydWUsImtldmxhcl90b29sdGlwX2ltcHJlc3Npb25fY2FwIjoyLCJyZW5kZXJfY2hhbm5lbF9jYW5vbmljYWxfdGFncyI6dHJ1ZSwid2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlIjoiIiwia2V2bGFyX21pbmlwbGF5ZXJfZXhwYW5kX3RvcCI6dHJ1ZSwiaXNfcGFydF9vZl9hbnlfdXNlcl9lbmdhZ2VtZW50X2V4cGVyaW1lbnQiOnRydWUsImRpc2FibGVfeW91dGhlcmVfbGFjdF90aHJlc2hvbGRfY2hlY2siOnRydWUsImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiOnRydWUsImVuYWJsZV9wcm9ncmFtbWVkX3BsYXlsaXN0X3JlZGVzaWduIjp0cnVlLCJlbmFibGVfcGxheWVyX21pY3JvZm9ybWF0X2RhdGEiOnRydWUsImtldmxhcl9lbmFibGVfZWRpdGFibGVfcGxheWxpc3RzIjp0cnVlLCJ3ZWJfZ2VsX3RpbWVvdXRfY2FwIjp0cnVlLCJrZXZsYXJfcGFnZV9zZXJ2aWNlX3VybF9wcmVmaXhfY2FydmVvdXRzIjpbXSwia2V2bGFyX2xhenlfbGlzdF9yZXN1bWVfZm9yX2F1dG9maWxsIjp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ19hbGJ1bSI6dHJ1ZSwiZGVza3RvcF93ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJjc2lfb25fZ2VsIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9jYXAiOi0xLCJrZXZsYXJfbG9nZ2VkX291dF90b3BiYXJfbWVudV9taWdyYXRpb24iOnRydWUsIndlYl9lbmFibGVfaGlzdG9yeV9jYWNoZV9tYXAiOnRydWUsImVuYWJsZV9jbGllbnRfc3RyZWFtel93ZWIiOnRydWUsImVuYWJsZV9zaWduYWxzIjp0cnVlLCJrZXZsYXJfd2F0Y2hfc2tlbGV0b24iOnRydWUsImRlc2t0b3Bfbm90aWZpY2F0aW9uX3NldF90aXRsZV9iYXIiOnRydWUsImtldmxhcl9zZXR0aW5nc19zaGFyaW5nIjp0cnVlLCJzdXBwcmVzc19nZW5fMjA0Ijp0cnVlLCJlbmFibGVfYm9yZGVyc19vbl9jb21tdW5pdHkiOnRydWUsImtldmxhcl9zZXR0aW5nc19wbGF5YmFjayI6dHJ1ZSwicG9seW1lcl93YXJtX3RodW1ibmFpbF9wcmVsb2FkIjp0cnVlLCJsb2dfd2luZG93X29uZXJyb3JfZnJhY3Rpb24iOjAuMSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJjb25zZW50X3VybF9vdmVycmlkZSI6IiIsImtldmxhcl9uZXh0X3VwX25leHRfZWR1X2Vtb2ppIjoiIiwiZGVza3RvcF9zZWFyY2hfc3VnZ2VzdGlvbl90YXBfdGFyZ2V0IjowLCJzZXJ2aWNlX3dvcmtlcl9lbmFibGVkIjp0cnVlLCJndWlkZV9sZWdhbF9mb290ZXJfZW5hYmxlZF9jb3VudHJpZXMiOlsiTkwiLCJFUyJdLCJzcGZfa2V2bGFyX2Fzc3VtZV9jaHVua2VkIjp0cnVlLCJkZXNrdG9wX3BvbHltZXJfdmlkZW9fbWFzdGhlYWRfc2Vzc2lvbl90ZW1wZGF0YV90dGwiOjMwLCJ3ZWJfc3lzdGVtX2hlYWx0aF9mcmFjdGlvbiI6MC4wMSwicHJldmlld19wbGF5X2R1cmF0aW9uIjozMDAwLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJrZXZsYXJfdGh1bWJuYWlsX292ZXJsYXlfYnV0dG9uX3JlZnJlc2giOnRydWUsIm1heF9kdXJhdGlvbl90b19jb25zaWRlcl9tb3VzZW92ZXJfYXNfaG92ZXIiOjYwMDAwMCwia2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucyI6dHJ1ZSwiZGVsYXlfZ2VsX3VudGlsX2NvbmZpZ19yZWFkeSI6dHJ1ZSwiZW5hYmxlX2Nvb2tpZV9yZWlzc3VlX2lmcmFtZSI6dHJ1ZSwieW91cl9kYXRhX2VudHJ5cG9pbnQiOnRydWUsImtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlIjp0cnVlLCJtaW5pbXVtX2R1cmF0aW9uX3RvX2NvbnNpZGVyX21vdXNlb3Zlcl9hc19ob3ZlciI6NTAwLCJ1c2VfdHlwZXNjcmlwdF90cmFuc3BvcnQiOnRydWUsImxpdmVfY2hhdF9pbmNyZWFzZWRfbWluX2hlaWdodCI6dHJ1ZSwicmVuZGVyX21ldGFfZ2VuZXJhbF90YWdzIjp0cnVlLCJrZXZsYXJfdXNlX29uZV9wbGF0Zm9ybV9mb3JfcXVldWVfcmVmcmVzaCI6dHJ1ZSwid2ViX2xpZmVjeWNsZXMiOnRydWUsImtldmxhcl9taW5pcGxheWVyX3NldF9lbGVtZW50X2Vhcmx5Ijp0cnVlLCJsb2dfd2ViX2VuZHBvaW50X3RvX2xheWVyIjp0cnVlLCJrZXZsYXJfd2F0Y2hfaW5jcmVhc2VkX3dpZHRoX3RocmVzaG9sZCI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX25vdGlmaWNhdGlvbnMiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfbG9nZ2VkX291dF9wcm9tcHRfd2F0Y2hlcyI6LTEsImVuYWJsZV9zdXBlcl92b2RfcHJpY2Vfc2VsZWN0b3IiOnRydWUsImZsdXNoX29uYmVmb3JldW5sb2FkIjp0cnVlLCJuZXR3b3JrbGVzc195dGlkYl92ZXJzaW9uIjoxLCJrZXZsYXJfZml4X21pbmlwbGF5ZXJfbG9nZ2luZyI6dHJ1ZSwicmVuZGVyX2Jhc2VfdGFnc19ob21lX3BhZ2UiOnRydWUsIndlYl9sb2dfY29ubmVjdGlvbiI6dHJ1ZSwibGl2ZV9jaGF0X2NvbnRpbnVhdGlvbnNfbWlncmF0aW9uIjp0cnVlLCJlbmFibGVfcG9seW1lcl9yZXNpbl9taWdyYXRpb24iOnRydWUsImRpc2FibGVfbGVnYWN5X2Rlc2t0b3BfcmVtb3RlX3F1ZXVlX3dhdGNoIjp0cnVlLCJrZXZsYXJfY2FuY2VsX3NjaGVkdWxlZF9jb21tZW50X2pvYnNfb25fbmF2aWdhdGUiOnRydWUsImtldmxhcl9kaXNhYmxlX2JhY2tncm91bmRfcHJlZmV0Y2giOnRydWUsImtldmxhcl9ub191cmxfcGFyYW1zIjp0cnVlLCJrZXZsYXJfd2F0Y2hfZHJhZ19oYW5kbGVzIjp0cnVlLCJrZXZsYXJfcXVldWVfdXNlX3VwZGF0ZV9hcGkiOnRydWUsImtldmxhcl9zZXR0aW5nc19iaWxsaW5nIjp0cnVlLCJwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZCI6dHJ1ZSwiYXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudF9hZnRlcl9hdXRvcGxheWVkX3ZpZGVvIjotMSwia2V2bGFyX2Rpc2FibGVfY2hhbm5lbHNfZmxvd19wYXJhbSI6dHJ1ZSwibWluX21vdXNlX3N0aWxsX2R1cmF0aW9uIjoxMDAsImRlc2t0b3BfdG91Y2hfZ2VzdHVyZXNfdXNhZ2VfbG9nIjp0cnVlLCJrZXZsYXJfYWxsb3dfbXVsdGlzdGVwX3ZpZGVvX2luaXQiOnRydWUsImtldmxhcl90aW1lX2NhY2hpbmdfc3RhcnRfdGhyZXNob2xkIjoxNSwia2V2bGFyX2FwcGx5X3ByZWZlcnNfY29sb3JfdGhlbWUiOnRydWUsImtldmxhcl9kaXNhYmxlX2h0bWxfaW1wb3J0cyI6dHJ1ZSwic2VhcmNoYm94X3JlcG9ydGluZyI6dHJ1ZSwibGl2ZV9jaGF0X2xpdmVfY29tbWVudGFyeV9tb2RlIjp0cnVlLCJrZXZsYXJfY2VudGVyX3NlYXJjaF9yZXN1bHRzIjp0cnVlLCJrZXZsYXJfbW91c2Vkb3duX3ByZWZldGNoIjp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ190YWdzIjp0cnVlLCJ3ZWJfcmVzcG9uc2VfcHJvY2Vzc29yX3N1cHBvcnQiOnRydWUsIndlYl9hbHdheXNfbG9hZF9jaGF0X3N1cHBvcnQiOnRydWUsInZpc2liaWxpdHlfdGltZV9iZXR3ZWVuX2pvYnNfbXMiOjEwMCwia2V2bGFyX2ZpeF9wbGF5bGlzdF9jb250aW51YXRpb24iOnRydWUsImtldmxhcl9tb3VzZWRvd25fcHJlZmV0Y2hhYmxlX2NvbXBvbmVudHMiOlsieXRkLXBsYXlsaXN0LXZpZGVvLXJlbmRlcmVyIiwieXRkLWdyaWQtdmlkZW8tcmVuZGVyZXIiLCJ5dGQtY29tcGFjdC12aWRlby1yZW5kZXJlciIsInl0ZC12aWRlby1yZW5kZXJlciIsInl0ZC1wbGF5bGlzdC1wYW5lbC12aWRlby1yZW5kZXJlciJdLCJlbmFibGVfd2F0Y2hfbmV4dF9wYXVzZV9hdXRvcGxheV9sYWN0Ijp0cnVlLCJrZXZsYXJfZmFsbGJhY2tfdG9fcGFnZV9kYXRhX3Jvb3RfdmUiOnRydWUsImJvdGd1YXJkX3BlcmlvZGljX3JlZnJlc2giOnRydWUsImVuYWJsZV9zZXJ2bGV0X3N0cmVhbXoiOnRydWUsImV4dGVybmFsX2Z1bGxzY3JlZW5fYnV0dG9uX2NsaWNrX3RocmVzaG9sZCI6Miwia2V2bGFyX2VuYWJsZV9zbGlzIjp0cnVlLCJrZXZsYXJfY2xlYXJfbm9uX2Rpc3BsYXlhYmxlX3VybF9wYXJhbXMiOnRydWUsInlvb2RsZV9lbmRfdGltZSI6IiIsImVsZW1lbnRfcG9vbF9wb3B1bGF0b3JfYXV0b19hYm9ydCI6dHJ1ZSwia2V2bGFyX2hpZGVfdGltZV9jb250aW51ZV91cmxfcGFyYW0iOnRydWUsInBvbHltZXJfdmlkZW9fcmVuZGVyZXJfZGVmZXJfbWVudSI6dHJ1ZSwid2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3QiOltdLCJuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cyI6MSwia2V2bGFyX3VzZV9wYWdlX2RhdGFfd2lsbF91cGRhdGUiOnRydWUsImtldmxhcl9iYWNrZ3JvdW5kX2NvbG9yX3VwZGF0ZSI6dHJ1ZSwia2V2bGFyX3BsYXllcl9yZXNwb25zZV9zd2ZfY29uZmlnX3dyYXBwZXJfa2lsbHN3aXRjaCI6dHJ1ZSwiZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWUiOnRydWUsImFwcF9zZXR0aW5nc19zbmFwc2hvdF9taW5fdGltZV9iZXR3ZWVuX3NuYXBzaG90c19ob3VycyI6MjQsImtldmxhcl9oaWRlX3BwX3VybF9wYXJhbSI6dHJ1ZSwic2hvdWxkX2NsZWFyX3ZpZGVvX2RhdGFfb25fcGxheWVyX2N1ZWRfdW5zdGFydGVkIjp0cnVlLCJkZXNrdG9wX2FkanVzdF90b3VjaF90YXJnZXQiOnRydWUsImRlc2t0b3BfcHl2X29uX3dhdGNoX292ZXJyaWRlX2xhY3QiOnRydWUsInZpZXdwb3J0X2xvYWRfY29sbGVjdGlvbl93YWl0X3RpbWUiOjAsInRlbl92aWRlb19yZW9yZGVyaW5nIjpbMCwxLDIsMyw2LDQsNSw3LDgsOV0sImRlc2t0b3BfYWN0aW9uX2NvbXBhbmlvbl93dGFfc3VwcG9ydCI6dHJ1ZSwia2V2bGFyX2hlbHBfdXNlX2xvY2FsZSI6dHJ1ZSwid2ViX29wX2VuZHBvaW50X2Jhbmxpc3QiOltdLCJkZWZlcl9tZW51cyI6dHJ1ZSwia2V2bGFyX2F1dG9uYXZfcG9wdXBfZmlsdGVyaW5nIjp0cnVlLCJrZXZsYXJfbWVudV9yZWZyZXNoIjp0cnVlLCJrZXZsYXJfbWl4X2hhbmRsZV9maXJzdF9lbmRwb2ludF9kaWZmZXJlbnQiOnRydWUsImtldmxhcl9vcF9wYWdlX3NlcnZpY2Vfc2VhcmNoIjp0cnVlLCJyZW5kZXJfbWV0YV90YWdzX2xhYnMiOnRydWUsImxvZ192aXNfb25fdGFiX2NoYW5nZSI6dHJ1ZSwiZGVidWdfZm9yY2VkX2ludGVybmFsY291bnRyeWNvZGUiOiIiLCJrZXZsYXJfYWRkX3RvX3F1ZXVlX29wdGlvbiI6dHJ1ZSwia2V2bGFyX2VuYWJsZV9yZW9yZGVyYWJsZV9wbGF5bGlzdHMiOnRydWUsImtldmxhcl9hbGxvd19xdWV1ZV9yZW9yZGVyIjp0cnVlLCJrZXZsYXJfb3BfcGFnZV9zZXJ2aWNlX2Jyb3dzZSI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2RyYWdfaGFuZGxlcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9wcm9tcHRfZGVsYXlfbWljcm9zZWNvbmRzIjozODg4MDAwMDAwMDAwLCJrZXZsYXJfb3BfYnJvd3NlX3NhbXBsZWRfcHJlZml4X2lkcyI6W10sImtldmxhcl9taW5pcGxheWVyX25vX3VwZGF0ZV9vbl9kZWFjdGl2YXRlIjp0cnVlLCJyZW5kZXJfbWljcm9mb3JtYXRfaW5faGVhZCI6dHJ1ZSwicmV0cnlfd2ViX2xvZ2dpbmdfYmF0Y2hlcyI6dHJ1ZSwiZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21feGhyX2NsaWVudCI6dHJ1ZSwia2V2bGFyX25vX2F1dG9zY3JvbGxfb25fcGxheWxpc3RfaG92ZXIiOnRydWUsImtldmxhcl9leGl0X2Z1bGxzY3JlZW5fbGVhdmluZ193YXRjaCI6dHJ1ZSwia2V2bGFyX21lbnVfbG9nZ2luZyI6dHJ1ZSwid2ViX3Bvc3Rfc2VhcmNoIjp0cnVlLCJkZXNrdG9wX2FkZF90b19wbGF5bGlzdF9yZW5kZXJlcl9kaWFsb2dfcG9wdXAiOnRydWUsInlvb2RsZV9iYXNlX3VybCI6Imh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2ltZ1wvYnJhbmRpbmdcL2Rlc2t0b3BcL2dsb2JhbF90ZXN0XC95dF9sb2dvX3YxIiwiZGVza3RvcF9rZXlib2FyZF9jYXB0dXJlX2tleWRvd25fa2lsbHN3aXRjaCI6dHJ1ZSwibG9nX2pzX2Vycm9yX2NsdXN0ZXJzIjoxLjAsIndlYl9nZWxfZGVib3VuY2VfbXMiOjEwMDAwLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6IlwvIiwid2ViX3BsYXllcl9lbmFibGVfaXBwIjp0cnVlLCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giOjE1MCwiZGVza3RvcF9zd2lwZWFibGVfZ3VpZGUiOnRydWUsImtldmxhcl9tYWNyb19tYXJrZXJzX2tleWJvYXJkX3Nob3J0Y3V0Ijp0cnVlLCJrZXZsYXJfY29weV9wbGF5bGlzdCI6dHJ1ZSwiZ2ZlZWRiYWNrX2Zvcl9zaWduZWRfb3V0X3VzZXJzX2VuYWJsZWQiOnRydWUsImtldmxhcl9jb2xsZWN0X2hvdmVyX3RvdWNoX3N1cHBvcnQiOnRydWUsImtldmxhcl9kaXNhYmxlX2Zhc3RfcGxheWVyX3NpemluZ19vbl9jaGFubmVsX3BhZ2UiOnRydWUsImtldmxhcl9ob21lX2tleWJvYXJkX3Njcm9sbF9kaXN0YW5jZSI6MCwia2V2bGFyX3F1ZXVlX3VzZV9kZWRpY2F0ZWRfbGlzdF90eXBlIjp0cnVlLCJrZXZsYXJfc2V0X2ludGVybmFsX3BsYXllcl9zaXplIjp0cnVlLCJzaG93X2dob3N0X2NhcmRfY29udGludWF0aW9ucyI6MCwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zYW1wbGluZ19mcmFjdGlvbiI6MC4wLCJrZXZsYXJfcHJlZmV0Y2giOnRydWUsInVzZXJfbWVudGlvbl9zdWdnZXN0aW9uc19lZHVfaW1wcmVzc2lvbl9jYXAiOjEwLCJrZXZsYXJfZGVwcmVjYXRlZF90aWNrZXIiOnRydWUsImVuYWJsZV9taWNyb2Zvcm1hdF9kYXRhIjp0cnVlLCJleHRlcm5hbF9mdWxsc2NyZWVuX2J1dHRvbl9zaG93bl90aHJlc2hvbGQiOjEwLCJ1c2Vfd2F0Y2hfZnJhZ21lbnRzMiI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2NvbGxhcHNpYmxlIjp0cnVlLCJwb2x5bWVyX3JlcG9ydF9taXNzaW5nX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X3JhdGUiOjAuMDAxLCJrZXZsYXJfYWxsb3dfcGxheWxpc3RfcmVvcmRlciI6dHJ1ZSwiZW5hYmxlX3dlYl9rZXRjaHVwX2hlcm9fYW5pbWF0aW9uIjp0cnVlLCJkaXNhYmxlX3RodW1ibmFpbF9wcmVsb2FkaW5nIjp0cnVlLCJkZWZlcl9yZW5kZXJpbmdfb3V0c2lkZV92aXNpYmxlX2FyZWEiOnRydWUsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6XC9cL3d3dy5nc3RhdGljLmNvbVwveW91dHViZVwvaW1nXC9lbW9qaXNcL2Vtb2ppcy1zdmctNC5qc29uIiwia2V2bGFyX3VzZV9lbmRwb2ludF9mb3JfY2hhbm5lbF9jcmVhdGlvbl9mb3JtIjp0cnVlLCJrZXZsYXJfbWluaXBsYXllcl9wbGF5X3BhdXNlX29uX3NjcmltIjp0cnVlLCJrZXZsYXJfdHJhbnNjcmlwdF9lbmdhZ2VtZW50X3BhbmVsIjp0cnVlLCJwb2x5bWVyMl9lbGVtZW50X3Bvb2xfcHJvcGVydGllcyI6dHJ1ZSwia2V2bGFyX3RyYW5zY3JpcHRfcGFuZWxfcmVmcmVzaGVkX3N0eWxlcyI6dHJ1ZSwiZml4X2Rlc2t0b3BfYWRzX2N0YV9kdXBfY2xpY2tfcGluZyI6dHJ1ZSwia2V2bGFyX2luY2x1ZGVfcXVlcnlfaW5fc2VhcmNoX2VuZHBvaW50Ijp0cnVlLCJ3ZWJfbmV0d29ya19jb21iaW5lZF9jYXRjaCI6dHJ1ZSwicmVsb2FkX3dpdGhvdXRfcG9seW1lcl9pbm5lcnR1YmUiOnRydWUsInBlcnNpc3RlbnRfbWluaXBsYXllciI6dHJ1ZSwicG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzIjp0cnVlLCJzdXBwcmVzc19zcGFya2xlc19mb3Jfd2hpdGVsaXN0ZWRfaW5zdHJlYW1fb25fZGVza3RvcCI6dHJ1ZSwiY3VzdG9tX2NzaV90aW1lbGluZV91c2VfZ2VsIjp0cnVlLCJwZGdfZW5hYmxlX3NpZ25faW5fbW9kYWxfZm9yX3N1cGVyX3ZvZCI6dHJ1ZSwiY2FuY2VsX3BlbmRpbmdfbmF2cyI6dHJ1ZSwicGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2UiOnRydWUsImtldmxhcl91c2VfYWxwaGFfaW5fY29sb3JfcGFsZXR0ZXMiOnRydWUsInBvbHltZXJfdGFza19tYW5hZ2VyX3N0YXR1cyI6InByb2R1Y3Rpb24iLCJ3ZWJfc2hvd19kZXNjcmlwdGlvbl90YWdfbW92aWVzIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9zdWJzY3JpYmVfd2l0aF92YXBpZF9rZXkiOnRydWUsInlvb2RsZV9zdGFydF90aW1lX3V0YyI6MTYwMzc3MTE5OSwiZW5hYmxlX21lbWJlcnNoaXBzX2FuZF9wdXJjaGFzZXMiOnRydWUsInBvbHltZXJfcmVwb3J0X2NsaWVudF91cmxfcmVxdWVzdGVkX3JhdGUiOjAuMDAxLCJrZXZsYXJfdXNlX3l0ZF9wbGF5ZXIiOnRydWUsImJvdGd1YXJkX2V2YWxfd2l0aF9zY3JpcHRfdGFnIjp0cnVlLCJ0d2VsdmVfdmlkZW9fcmVvcmRlcmluZyI6WzAsMSwyLDQsNyw4LDMsNSw2LDksMTAsMTFdLCJ3ZWJfZGVwcmVjYXRlX3NlcnZpY2VfYWpheF9tYXBfZGVwZW5kZW5jeSI6dHJ1ZSwiZW5hYmxlX3l0b193aW5kb3ciOnRydWUsImVuYWJsZV9kb2NrZWRfY2hhdF9tZXNzYWdlcyI6dHJ1ZSwid2ViX21vdmVfcGFzc2l2ZV9zaWduaW4iOnRydWUsImVuYWJsZV92ZV90cmFja2VyX2tleSI6dHJ1ZSwidXNlX3BsYXllcl9wYXJhbXNfZm9yX3Bhc3NpbmdfZGVza3RvcF9jb252ZXJzaW9uX3VybHMiOnRydWUsIndlYl9sb2dfYXBwX2luc3RhbGxfZXhwZXJpbWVudHMiOnRydWUsImVuYWJsZV9vZmZlcl9zdXBwcmVzc2lvbiI6dHJ1ZSwia2V2bGFyX3NlcnZlX3VudmVyc2lvbmVkX2JpbmFyeSI6dHJ1ZSwia2V2bGFyX2ljb25zX29uX21lbnVzIjp0cnVlLCJyZWNvbW1lbmRlZF92aWRlb19yZW9yZGVyaW5nIjp0cnVlLCJib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zIjozMDAwLCJrZXZsYXJfZ3VpZGVfcmVmcmVzaCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9ob21lX3BhZ2VfcHJvbXB0Ijp0cnVlLCJrZXZsYXJfdGh1bWJuYWlsX2ZseW91dF9kZWxheSI6MzAwLCJwYmpfbmF2aWdhdGVfbGltaXQiOi0xLCJrZXZsYXJfbml0cmF0ZV9kcml2ZW5fdG9vbHRpcHMiOnRydWUsImVuYWJsZV90b3Bzb2lsX3d0YV9mb3JfaGFsZnRpbWUiOnRydWUsIndlYl9wbGF5ZXJfd2F0Y2hfbmV4dF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2hvbWVfc2tlbGV0b24iOnRydWUsImxvZ193ZWJfbWV0YV9pbnRlcnZhbF9tcyI6MCwid2F0Y2hfbmV4dF9wYXVzZV9hdXRvcGxheV9sYWN0X3NlYyI6NDUwMCwiZW5hYmxlX3lwY19zcGlubmVycyI6dHJ1ZSwia2V2bGFyX3BsYXllcl9hdXRvcGxheV9jb3VudF9mcm9tX3J2cyI6dHJ1ZSwiZW5hYmxlX3dlYl9wb3N0ZXJfaG92ZXJfYW5pbWF0aW9uIjp0cnVlLCJrZXZsYXJfb3BfbWlncmF0aW9uIjp0cnVlLCJ3ZWJfY2xpZW50X2NvdW50ZXJfcmFuZG9tX3NlZWQiOnRydWUsImF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnQiOi0xLCJwb2x5bWVyMl9wb2x5ZmlsbF9tYW51YWxfZmx1c2giOnRydWUsImRlY29yYXRlX2F1dG9wbGF5X3JlbmRlcmVyIjp0cnVlLCJlbmFibGVfbWVudGlvbnNfaW5fcmVwb3N0cyI6dHJ1ZSwicGxheWVyX2RvdWJsZXRhcF90b19zZWVrIjp0cnVlLCJ5b29kbGVfc3RhcnRfdGltZSI6IiIsImtldmxhcl9wcmVwYXJlX3BsYXllcl9vbl9taW5pcGxheWVyX2FjdGl2YXRpb24iOnRydWUsImNvbGRfbWlzc2luZ19oaXN0b3J5Ijp0cnVlLCJrZXZsYXJfZHJvcHBhYmxlX3ByZWZldGNoYWJsZV9yZXF1ZXN0cyI6dHJ1ZSwidXNlX3ByZXZpZXdfc2VsZWN0aW9uX3Rvb2wiOnRydWUsIm5ldHdvcmtsZXNzX3Rocm90dGxlX3RpbWVvdXQiOjEwMCwia2V2bGFyX25leHRfY29sZF9vbl9hdXRoX2NoYW5nZV9kZXRlY3RlZCI6dHJ1ZSwia2V2bGFyX29wX21pZ3JhdGlvbl95cGMiOnRydWUsImtldmxhcl9jdHJsX3RhcF9maXgiOnRydWUsIm5vX3N1Yl9jb3VudF9vbl9zdWJfYnV0dG9uIjp0cnVlLCJrZXZsYXJfcGVyc2lzdGVudF9ndWlkZV93aWR0aF90aHJlc2hvbGQiOjEzMTIsImtldmxhcl9jb2xsZWN0X2JhdHRlcnlfbmV0d29ya19zdGF0dXMiOnRydWUsImtldmxhcl9jbGVhbl91cCI6dHJ1ZSwiZGVmZXJfb3ZlcmxheXMiOnRydWUsIndhcm1fbG9hZF9uYXZfc3RhcnRfd2ViIjp0cnVlLCJvdmVyd3JpdGVfcG9seWZpbGxfb25fbG9nZ2luZ19saWJfbG9hZGVkIjp0cnVlLCJrZXZsYXJfc2F2ZV9xdWV1ZSI6dHJ1ZSwieW9vZGxlX2VuZF90aW1lX3V0YyI6MTYwMzg3OTE5OSwibGl2ZV9jaGF0X2l0ZmVfZW5kcG9pbnRfbWlncmF0aW9uIjp0cnVlLCJrZXZsYXJfbWluaXBsYXllciI6dHJ1ZSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX2F1dG9tYXRpY19yZWNvdmVyIjp0cnVlLCJsaXZlX2NoYXRfdXNlX2ZldGNoX2NvbW1hbmQiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImtldmxhcl9jbGllbnRfc2lkZV9zY3JlZW5zIjp0cnVlLCJrZXZsYXJfcmVwb3NpdGlvbl9ndWlkZV9odG1sIjp0cnVlLCJza2lwX2VuZHBvaW50X3BhcmFtX2NvbXBhcmlzb24iOnRydWUsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJ3ZWJfeXRfY29uZmlnX2NvbnRleHQiOnRydWUsInJpY2hfZ3JpZCI6dHJ1ZSwiZGVza3RvcF9zZWFyY2hfcHJvbWluZW50X3RodW1ic19zdHlsZSI6IkRFRkFVTFQiLCJrZXZsYXJfbWluaV9ndWlkZV93aWR0aF90aHJlc2hvbGQiOjc5MSwia2V2bGFyX3NldHRpbmdzX3ByaXZhY3kiOnRydWUsImlnbm9yZV9lbXB0eV94aHIiOnRydWUsImNsaWVudF9zdHJlYW16X3dlYl9mbHVzaF9pbnRlcnZhbF9zZWNvbmRzIjo2MCwiZ3VpZGVfYnVzaW5lc3NfaW5mb19jb3VudHJpZXMiOlsiS1IiXSwid2ViX3JlZnJlc2hfaW5mb19wYW5lbCI6dHJ1ZSwiZW5hYmxlX21hc3RoZWFkX3F1YXJ0aWxlX3BpbmdfZml4Ijp0cnVlLCJwYWlyX3NlcnZsZXRfZGVwcmVjYXRpb25fd2FybmluZ19lbmFibGVkIjp0cnVlLCJwbGF5ZXJfYWxsb3dfYXV0b25hdl9hZnRlcl9wbGF5bGlzdCI6dHJ1ZSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX3JlY292ZXIiOnRydWUsInBvbHltZXJfZW5hYmxlX21keCI6dHJ1ZSwiZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsImFsbG93X2h0dHBzX3N0cmVhbWluZ19mb3JfYWxsIjp0cnVlLCJrZXZsYXJfY2hhbm5lbHNfcGxheWVyX2hhbmRsZV9taXNzaW5nX3N3ZmNvbmZpZyI6dHJ1ZSwicG9seW1lcjJfbm90X3NoYWR5X2J1aWxkIjp0cnVlLCJsaXZlX2NoYXRfb3Zlcl9wbGF5bGlzdCI6dHJ1ZSwieW9vZGxlX2FsdF90ZXh0X2xvY2FsZSI6IiIsImFkZF9kZXZpY2VfdGhlbWVfcHJlZmVyZW5jZV93ZWIiOnRydWUsImtldmxhcl9tZWFsYmFyX2Fib3ZlX3BsYXllciI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2F1dG9uYXZfbG9vcF9maXgiOnRydWUsImVuYWJsZV9zZXJ2aWNlX2FqYXhfY3NuIjp0cnVlLCJrZXZsYXJfb3BfbWlncmF0aW9uX2JhdGNoXzIiOnRydWUsImtldmxhcl9vcF9taWdyYXRpb25fYmF0Y2hfMyI6dHJ1ZSwia2V2bGFyX3dhdGNoX2pzX3BhbmVsX2hlaWdodCI6dHJ1ZSwid2ViX3Nob3dfcmVnZXhfZXJyb3JfdGV4dGFyZWEiOnRydWUsImtldmxhcl9pbmxpbmVkX2h0bWxfdGVtcGxhdGVzX3BvbHltZXJfZmxhZ3MiOnRydWUsIndlYl9wbGF5ZXJfdG91Y2hfbW9kZV9pbXByb3ZlbWVudHMiOnRydWUsImVuYWJsZV9jYWxsX3RvX2FjdGlvbl9jbGFyaWZpY2F0aW9uX3JlbmRlcmVyX2JvdHRvbV9zZWN0aW9uX2NvbmRpdGlvbnMiOnRydWUsImV4dGVybmFsX2Z1bGxzY3JlZW5fd2l0aF9lZHUiOnRydWUsImtldmxhcl93YXRjaF9jb2xvcl91cGRhdGUiOnRydWUsInBsYXlsaXN0X3JlbW92ZV93YXRjaGVkIjp0cnVlLCJrZXZsYXJfbm9fZWFybHlfaW5pdF91bnBhdXNlIjp0cnVlLCJ3ZWJfb3BfY29udGludWF0aW9uX3R5cGVfYmFubGlzdCI6W10sImZpeF9mb3Jfc2FmYXJpX2Rlc2t0b3BfbWFzdGhlYWRfYmFubmVyX3NpemUiOnRydWUsImtldmxhcl9ndWlkZV9hamF4X21pZ3JhdGlvbiI6dHJ1ZSwia2V2bGFyX2F1dG9mb2N1c19tZW51X29uX2tleWJvYXJkX25hdiI6dHJ1ZSwibmV0d29ya19wb2xsaW5nX2ludGVydmFsIjozMDAwMCwicG9wdXBfZm9yX3NpZ25fb3V0X3JlcG9ydF9wbGF5bGlzdCI6dHJ1ZSwia2V2bGFyX2FiYW5kb25fb25fc3RvcCI6dHJ1ZSwiZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21fcG9seW1lcl9uZXR3b3JrX21hbmFnZXIiOnRydWUsIm5ldHdvcmtsZXNzX3JlcXVlc3RfYWdlX2xpbWl0IjozMCwia2V2bGFyX3RpbWVfY2FjaGluZ19lbmRfdGhyZXNob2xkIjoxNSwia2V2bGFyX3NldHRpbmdzX292ZXJ2aWV3Ijp0cnVlLCJ3ZWJfZG9udF9jYW5jZWxfcGVuZGluZ19uYXZpZ2F0aW9uX3NhbWVfdXJsIjp0cnVlLCJ5b29kbGVfZGF0ZV9vdmVycmlkZV9kZWJ1ZyI6IiIsImRpc2FibGVfc2ltcGxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwia2V2bGFyX2F1dG9uYXZfbWluaXBsYXllcl9maXgiOnRydWUsImRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX2J1dHRvbl9iZWhhdmlvcl9yZXVzZSI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJsaXZlX2NoYXRfY2xpZW50X3VybCI6dHJ1ZSwiYXV0b3BsYXlfdGltZSI6ODAwMCwieW9vZGxlX2FsdF90ZXh0IjoiIiwia2V2bGFyX3VzZV9yZXNwb25zZV90dGxfdG9faW52YWxpZGF0ZV9jYWNoZSI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbiI6dHJ1ZSwiZGVza3RvcF9weXZfb25fd2F0Y2hfbWlzc2luZ19wYXJhbXMiOnRydWUsImtldmxhcl90aHVtYm5haWxfZmx1aWQiOnRydWUsInNlcnZlX2Nyb3Nzd2Fsa19jb21wbGlhbnRfcGRwIjp0cnVlLCJrZXZsYXJfY2hhbm5lbF90cmFpbGVyX211bHRpX2F0dGFjaCI6dHJ1ZSwiZmlsbF93ZWJfcGxheWVyX2NvbnRleHRfY29uZmlnIjp0cnVlLCJrZXZsYXJfbWluaXBsYXllcl9zZXRfd2F0Y2hfbmV4dCI6dHJ1ZSwia2V2bGFyX2kxOG5fbGlicmFyeSI6dHJ1ZSwia2V2bGFyX2pzX2ZpeGVzIjp0cnVlLCJlbmFibGVfbGNyX25ld19oZWFkZXIiOnRydWUsInNraXBfaW5pdF9wcmV2aWV3X3NlbGVjdGlvbiI6dHJ1ZSwid2ViX2VtdWxhdGVkX2lkbGVfY2FsbGJhY2tfZGVsYXkiOjAsImNsaWVudF9zdHJlYW16X3dlYl9mbHVzaF9jb3VudCI6MTAwLCJoaWdoX3ByaW9yaXR5X2ZseW91dF9mcmVxdWVuY3kiOjMsImdsb2JhbF9zcGFjZWJhcl9wYXVzZSI6dHJ1ZSwia2V2bGFyX2FkX2JhZGdlX2xpbmVfaGVpZ2h0X3VwZGF0ZSI6dHJ1ZSwiaHRtbDVfZXhwZXJpbWVudF9pZF9sYWJlbCI6MCwibG9nX2pzX2V4Y2VwdGlvbnNfZnJhY3Rpb24iOjEuMCwicmljaF9ncmlkX21pbmlfbW9kZSI6dHJ1ZSwiZW5hYmxlX3ByZW1pdW1fdm9sdW50YXJ5X3BhdXNlIjp0cnVlLCJ1c2VyX2VuZ2FnZW1lbnRfZXhwZXJpbWVudHNfcmF0ZV9saW1pdF9tcyI6ODY0MDAwMDAsImtldmxhcl9sb2dfbmF0aXZlX3JpZ2h0X2NsaWNrX3ZlIjp0cnVlLCJlbmFibGVfcG9zdF9zY2hlZHVsaW5nIjp0cnVlLCJrZXZsYXJfbG9nX3ByZWZlcnNfY29sb3JfdGhlbWUiOnRydWUsImRlc2t0b3Bfbm90aWZpY2F0aW9uX2hpZ2hfcHJpb3JpdHlfaWdub3JlX3B1c2giOnRydWV9LCJQTEFZRVJfQ1NTX1VSTCI6Ilwvc1wvcGxheWVyXC85YjY1ZTk4MFwvd3d3LXBsYXllci5jc3MiLCJQQUdFX0NMIjozMzg0NDM5MTAsIklOTkVSVFVCRV9DT05URVhUX0dMIjoiQlIiLCJTQk9YX0pTX1VSTCI6Imh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL3NcL2Rlc2t0b3BcL2E5MDAzNmVhXC9qc2Jpblwvd3d3LXNlYXJjaGJveC52ZmxzZXRcL3d3dy1zZWFyY2hib3guanMiLCJIVE1MX0RJUiI6Imx0ciIsIlNUQVJUX0lOX1RIRUFURVJfTU9ERSI6ZmFsc2UsIkxBTkdVQUdFIjoiUG9ydHVndcOqcyIsIkZFWFBfRVhQRVJJTUVOVFMiOlsyMzcyMzIwNywyMzc0MTUyMiwyMzc0NDE3NiwyMzgwNDI4MSwyMzgzOTU5NywyMzg1Njk1MCwyMzg1Nzk0OSwyMzg2ODMyNCwyMzg4MDA0MywyMzg4MTQ0MCwyMzg4MjUwMywyMzg4NDM4NiwyMzg4NTU3MiwyMzg5MDk1OSwyMzg5NTY3MSwyMzkxMTA1NSwyMzkxNTk5MywyMzkxODU5NywyMzkyNzc2NywyMzkyNzc2NywyMzkyODUwOCwyMzkzMDIyMCwyMzkzNDk3MCwyMzk0MDI0NywyMzk0MjMzOCwyMzk0MjYzMywyMzk0MzI5MywyMzk0NDc3OSwyMzk0NTQ3OSwyMzk0NjQyMCwyMzk0NzY4MSwyMzk0NzY5OCwyMzk0ODg0MSwyMzk1MDU5NywyMzk1MTEzOSwyMzk1MTYyMCwyMzk1Mjk1MSwyMzk1NDAwMCwyMzk1NTg2MywyMzk1Njc1NCwyMzk2MDM4NiwyMzk2Mjg4MiwyMzk2MjkyMCwyMzk2Mjk2MiwyMzk2MzYxMywyNDU5MDI3OCwyNDU5MDI4OSwyNDYzMTY0Nyw5NDQ5MjQzLDk0NjY1OTNdLCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSI6MSwiTE9HR0VEX0lOIjpmYWxzZSwiR09PR0xFX0ZFRURCQUNLX1BST0RVQ1RfREFUQSI6eyJwb2x5bWVyMiI6ImFjdGl2ZSIsImFjY2VwdF9sYW5ndWFnZSI6bnVsbCwicG9seW1lciI6ImFjdGl2ZSJ9LCJFTEVNRU5UX1BPT0xfREVGQVVMVF9DQVAiOjc1LCJHT09HTEVfRkVFREJBQ0tfUFJPRFVDVF9JRCI6IjU5IiwiVk9aX0FQSV9LRVkiOiJBSXphU3lCVTJ4RV9KSHZCNndhZzN0TWZoeFhwZzJRX1c4eG5NLUkiLCJHQVBJX0xPQ0FMRSI6InB0X0JSIiwiQ09VTlRSWSI6IkJyYXNpbCIsIkxJVkVfQ0hBVF9TRU5EX01FU1NBR0VfQUNUSU9OIjoibGl2ZV9jaGF0XC93YXRjaF9wYWdlXC9zZW5kIiwiWFNSRl9UT0tFTiI6IlFVRkZMVWhxYlhKeVNYbElUamRYUTNoblRFUnRRWGhpYjNwUFpFaHVlWGhOZDN4QlEzSnRjMHR1ZFRkNVNrNTVjVmh5Y210aVduZHRNRlV0YjNCMmNXUlFiVlIwZFZaV1EwOTZjbTFtWjNSRFlsbzVkRWs1VjNreE1sVmxOM0ZPY0dSbmRuSmtPSGh1TjJwek9HRXhPUzFQUXpGV1JIZEhVemQxUW1WZlREVTBiVk5sU1RkWE9GZFRhMHhWVVdrelgyNXFiMnhETTNKSU5XNVNSVmM0TTBwQ05WZzNUM2hHY1Y5UWJrSkllVm94Y0ZWblREaFBMUzF3ZG1GYVRGaDZaMXBxVm5jPSIsIk5PX0VNUFRZX0RBVEFfSU1HIjp0cnVlLCJHQVBJX0hJTlRfUEFSQU1TIjoibTtcL19cL3Njc1wvYWJjLXN0YXRpY1wvX1wvanNcL2s9Z2FwaS5nYXBpLmVuLjlLeTVHZjNnUDBvLk9cL2Q9MVwvY3Q9emdtc1wvcnM9QUhwT29vOW50Z1VnYVZtU0t4YjZvWHNrMTExODgwYWR5Z1wvbT1fX2ZlYXR1cmVzX18iLCJFVkVOVF9JRCI6Il9XZVlYOXV3QTVQRXdnUzJfWnZvQXciLCJSRVVTRV9DT01QT05FTlRTIjp0cnVlLCJERVZJQ0UiOiJjZW5nPVVTRVJfREVGSU5FRCIsIlJPT1RfVkVfVFlQRSI6MzgzMiwiR0FQSV9IT1NUIjoiaHR0cHM6XC9cL2FwaXMuZ29vZ2xlLmNvbSIsIlBMQVlFUl9KU19VUkwiOiJcL3NcL3BsYXllclwvOWI2NWU5ODBcL3BsYXllcl9pYXMudmZsc2V0XC9wdF9CUlwvYmFzZS5qcyIsIlZJU0lUT1JfREFUQSI6IkNnczVOREo0U1ZWa2Qyc3RXU2o5ei1IOEJRJTNEJTNEIiwiVklTSUJJTElUWV9USU1FX0JFVFdFRU5fSk9CU19NUyI6MTAwLCJIVE1MX0xBTkciOiJwdC1CUiIsIkRJU0FCTEVfV0FSTV9MT0FEUyI6ZmFsc2UsIkNMSUVOVF9UUkFOU1BPUlQiOiJ0Y3AiLCJTRVJWSUNFX1dPUktFUl9QUk9NUFRfTk9USUZJQ0FUSU9OUyI6ZmFsc2UsIkxJVkVfQ0hBVF9CQVNFX1RBTkdPX0NPTkZJRyI6eyJjbGllbnROYW1lIjoieXQtbGl2ZS1jaGF0LWFub24iLCJhcGlLZXkiOiJBSXphU3lEWk5reUMtQXRST3dNQnBMZmV2SXZxWWstR2ZpOFpPZW8iLCJ1c2VOZXdUYW5nbyI6dHJ1ZSwicmVxdWlyZXNBdXRoVG9rZW4iOnRydWUsImNsaWVudFR5cGUiOjEwNTcsImNoYW5uZWxVcmkiOiJodHRwczpcL1wvY2xpZW50LWNoYW5uZWwuZ29vZ2xlLmNvbVwvY2xpZW50LWNoYW5uZWxcL2NsaWVudCIsInNlbmRlclVyaSI6Imh0dHBzOlwvXC9jbGllbnRzNC5nb29nbGUuY29tXC9pbnZhbGlkYXRpb25cL2xjc1wvY2xpZW50In0sIkRJU0FCTEVfWVRfSU1HX0RFTEFZX0xPQURJTkciOmZhbHNlLCJTVEFSVF9JTl9GVUxMX1dJTkRPV19NT0RFIjpmYWxzZSwiU0JPWF9TRVRUSU5HUyI6eyJTRUFSQ0hCT1hfQkVIQVZJT1JfRVhQRVJJTUVOVCI6Inplcm8tcHJlZml4IiwiSVNfRlVTSU9OIjpmYWxzZSwiVklTSVRPUl9EQVRBIjoiQ2dzNU5ESjRTVlZrZDJzdFdTajl6LUg4QlElM0QlM0QiLCJTRUFSQ0hCT1hfSE9TVF9PVkVSUklERSI6IiIsIkhBU19PTl9TQ1JFRU5fS0VZQk9BUkQiOnRydWUsIlNFQVJDSEJPWF9aRVJPX1RZUElOR19TVUdHRVNUX1VTRV9SRUdVTEFSX1NVR0dFU1QiOiJhbHdheXMiLCJTRU5EX1ZJU0lUT1JfREFUQSI6dHJ1ZSwiSVNfUE9MWU1FUiI6dHJ1ZSwiU0VBUkNIQk9YX1RBUF9UQVJHRVRfRVhQRVJJTUVOVCI6MCwiU0VBUkNIQk9YX0VOQUJMRV9SRUZJTkVNRU5UX1NVR0dFU1QiOnRydWUsIlJFUVVFU1RfRE9NQUlOIjoiYnIiLCJSRVFVRVNUX0xBTkdVQUdFIjoicHQifSwiWEhSX0FQSUFSWV9IT1NUIjoieW91dHViZWkueW91dHViZS5jb20iLCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiOnsiY2xpZW50Lm5hbWUiOiJXRUIifX0pO3l0Y2ZnLnNldCgiU0JPWF9MQUJFTFMiLCB7IlNVR0dFU1RJT05fRElTTUlTU19MQUJFTCI6IlJlbW92ZXIiLCJTVUdHRVNUSU9OX0RJU01JU1NFRF9MQUJFTCI6IlN1Z2VzdMOjbyByZW1vdmlkYSJ9KTt2YXIgc2V0TWVzc2FnZSA9IGZ1bmN0aW9uKG1zZykge2lmICh3aW5kb3cueXQgJiYgeXQuc2V0TXNnKSB7eXQuc2V0TXNnKG1zZyk7fSBlbHNlIHt3aW5kb3cueXRjZmcgPSB3aW5kb3cueXRjZmcgfHwge307eXRjZmcubXNncyA9IG1zZzt9fTtzZXRNZXNzYWdlKHsnU0lHTl9JTl9MQUJFTCc6ICJGYXplciBsb2dpbiIsJ1NIQVJFX0xBQkVMJzogIkNvbXBhcnRpbGhhciIsJ0dVSURFX0FMVF9MQUJFTCc6ICJHdWlhIiwnTE9HT19BTFRfTEFCRUwnOiAiUMOhZ2luYSBpbmljaWFsIGRvIFlvdVR1YmUiLCdCQUNLX0FMVF9MQUJFTCc6ICJWb2x0YXIiLCdDSE9PU0VfQ09VTlRSWV9MQUJFTCc6ICJTZWxlY2lvbmUgc2V1IGxvY2FsIiwnQ09VTlRSWV9MQUJFTCc6ICJMb2NhbDoiLCdDSE9PU0VfTEFOR1VBR0VfTEFCRUwnOiAiU2VsZWNpb25lIHNldSBpZGlvbWEiLCdMQU5HVUFHRV9MQUJFTCc6ICJJZGlvbWE6IiwnVElNRVpPTkVfRk9STUFUJzogIigkdXRjX29mZnNldF90ZXh0KSAkY2l0eV9uYW1lIiwnTE9DQUxfVElNRV9MQUJFTCc6ICJIb3JhIGxvY2FsIiwnTE9DQUxfVElNRV9HTVRfTEFCRUwnOiAiSG9yw6FyaW8gbG9jYWwgKCRnbXRfdGV4dCkiLCdVVENfT0ZGU0VUX0ZPUk1BVCc6ICJHTVQkdXRjX29mZnNldCIsJ0VOVEVSX0RBVEVfT1JfRUFSTElFUic6ICJJbnNpcmEgJGFsbG93ZWRfZGF0ZSBvdSB1bWEgZGF0YSBhbnRlcmlvciIsJ0VOVEVSX0RBVEVfT1JfTEFURVInOiAiSW5zaXJhICRhbGxvd2VkX2RhdGUgb3UgdW0gaG9yw6FyaW8gcG9zdGVyaW9yIiwnSU5WQUxJRF9EQVRFX0VSUk9SJzogIkRhdGEgaW52w6FsaWRhIiwnT0ZGJzogIkRlc2F0aXZhZG8iLCdPTic6ICJBdGl2YWRvIiwnUkVTVFJJQ1RFRF9NT0RFX0xBQkVMJzogIk1vZG8gcmVzdHJpdG86IiwnUkVTVFJJQ1RFRF9NT0RFX1RFWFRfTElORV8xJzogIk8gTW9kbyByZXN0cml0byBvY3VsdGEgdsOtZGVvcyBxdWUgcG9kZW0gY29udGVyIGNvbnRlw7pkbyBpbmFkZXF1YWRvLCBzaW5hbGl6YWRvIHBvciB1c3XDoXJpb3Mgb3Ugb3V0cm9zIGluZGljYWRvcmVzLiBOZW5odW0gZmlsdHJvIMOpIDEwMCUgcHJlY2lzbywgbWFzIGRldmUgYWp1ZGFyIHZvY8OqIGEgZXZpdGFyIGEgbWFpb3JpYSBkb3MgY29udGXDumRvcyBpbmFkZXF1YWRvcy4iLCdSRVNUUklDVEVEX01PREVfVEVYVF9MSU5FXzInOiAiQSBjb25maWd1cmHDp8OjbyBkbyBNb2RvIHJlc3RyaXRvIHNlcsOhIGFwbGljYWRhIHNvbWVudGUgYSBlc3RlIG5hdmVnYWRvci4iLCdSRVNUUklDVEVEX01PREVfVElUTEUnOiAiTW9kbyByZXN0cml0byIsJ0lNQUdFX0hPUklaT05UQUxfUE9TSVRJT05fTEFCRUwnOiAiTyBjZW50cm8gZGEgdmlzdWFsaXphw6fDo28gZXN0w6EgYSAkeF9wZXJjZW50JSBkYSBlc3F1ZXJkYSBlIGEkeV9wZXJjZW50JSBkYSBkaXJlaXRhLiIsJ0lNQUdFX1ZFUlRJQ0FMX1BPU0lUSU9OX0xBQkVMJzogIk8gY2VudHJvIGRhIHZpc3VhbGl6YcOnw6NvIGVzdMOhIGEgJHhfcGVyY2VudCUgZGEgcGFydGUgc3VwZXJpb3IgZSBhJHlfcGVyY2VudCUgZGEgcGFydGUgaW5mZXJpb3IuIiwnUkVQT1NJVElPTl9JTUFHRV9IT1JJWk9OVEFMTFlfTEFCRUwnOiAiVXNlIGFzIHRlY2xhcyBkZSBzZXRhIGVzcXVlcmRhIGUgZGlyZWl0YSBwYXJhIHBvc2ljaW9uYXIgYSB2aXN1YWxpemHDp8OjbyIsJ1JFUE9TSVRJT05fSU1BR0VfVkVSVElDQUxMWV9MQUJFTCc6ICJVc2UgYXMgdGVjbGFzIGRlIHNldGEgcGFyYSBjaW1hIGUgcGFyYSBiYWl4byBwYXJhIHBvc2ljaW9uYXIgYSB2aXN1YWxpemHDp8OjbyIsJ1JFQUNIX1RPUF9PRl9JTUFHRV9URVhUJzogIlZvY8OqIGFsY2Fuw6dvdSBhIHBhcnRlIHN1cGVyaW9yIGRhIGltYWdlbSIsJ1JFQUNIX0JPVFRPTV9PRl9JTUFHRV9URVhUJzogIlZvY8OqIGFsY2Fuw6dvdSBhIHBhcnRlIGluZmVyaW9yIGRhIGltYWdlbSIsJ1JFQUNIX0xFRlRfT0ZfSU1BR0VfVEVYVCc6ICJWb2PDqiBhbGNhbsOnb3UgbyBsYWRvIGVzcXVlcmRvIGRhIGltYWdlbSIsJ1JFQUNIX1JJR0hUX09GX0lNQUdFX1RFWFQnOiAiVm9jw6ogYWxjYW7Dp291IG8gbGFkbyBkaXJlaXRvIGRhIGltYWdlbSIsJ1NCT1hfUExBQ0VIT0xERVInOiAiUGVzcXVpc2FyIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1BST01QVCc6ICJEZW51bmNpYXIgcHJldmlzw7VlcyBkZSBlbnF1ZXRlIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1RJVExFJzogIkRlbnVuY2lhciBwcmV2aXPDtWVzIGRlIGVucXVldGUiLCdTQk9YX0lOQVBQUk9QUklBVEVfU1VHR0VTVElPTlMnOiAiU2VsZWNpb25lIGFzIHByZXZpc8O1ZXMgcXVlIHZvY8OqIHF1ZXIgZGVudW5jaWFyOiIsJ1NCT1hfSU5BUFBST1BSSUFURV9DQVRFR09SWSc6ICJPIGNvbnRlw7pkbyBkYXMgcHJldmlzw7VlcyBzZWxlY2lvbmFkYXM6IiwnU0JPWF9JTkFQUFJPUFJJQVRFX0hBVEVGVUwnOiAiaW5jaXRhIGFvIMOzZGlvIiwnU0JPWF9JTkFQUFJPUFJJQVRFX0VYUExJQ0lUJzogIsOpIHNleHVhbG1lbnRlIGV4cGzDrWNpdG8iLCdTQk9YX0lOQVBQUk9QUklBVEVfVklPTEVOVCc6ICJjb250w6ltIHZpb2zDqm5jaWEiLCdTQk9YX0lOQVBQUk9QUklBVEVfREFOR0VST1VTJzogImNvbnTDqW0gYXRpdmlkYWRlcyBwZXJpZ29zYXMgb3Ugbm9jaXZhcyIsJ1NCT1hfSU5BUFBST1BSSUFURV9PVEhFUic6ICJvdXRybyIsJ1NCT1hfSU5BUFBST1BSSUFURV9SRUFTT04nOiAiTW90aXZvIChvYnJpZ2F0w7NyaW8pIiwnU0JPWF9JTkFQUFJPUFJJQVRFX0FERElUSU9OQUwnOiAiRm9ybmXDp2EgbWFpcyBkZXRhbGhlcyAob3BjaW9uYWwpIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1NVQk1JVCc6ICJFbnZpYXIiLCdTQk9YX0lOQVBQUk9QUklBVEVfUkVQT1JUJzogIkRlbnVuY2lhciIsJ1NCT1hfSU5BUFBST1BSSUFURV9DQU5DRUwnOiAiQ2FuY2VsYXIiLCdTQk9YX0lOQVBQUk9QUklBVEVfVE9BU1QnOiAiQWdyYWRlY2Vtb3Mgc2V1IGZlZWRiYWNrLiIsJ1NCT1hfVk9JQ0VfT1ZFUkxBWV9QTEFDRUhPTERFUic6ICJPdXZpbmRv4oCmIiwnQUREX1RPX0RST1BET1dOX0xBQkVMJzogIlNhbHZhciBlbS4uLiIsJ1JFUVVJUkVEX0xBQkVMJzogIk9icmlnYXTDs3JpbyIsJ05PX0FOR0xFX0JSQUNLRVRfTEFCRUwnOiAiTyBub21lIGRhIHBsYXlsaXN0IG7Do28gcG9kZSBjb250ZXIgXHUwMDNjIG91IFx1MDAzZVxuIiwnRURJVF9BVkFUQVJfTEFCRUwnOiAiRWRpdGFyIGZvdG8gZG8gcGVyZmlsIiwnQURfQkFER0VfVEVYVCc6ICJBbsO6bmNpbyIsJ0VEVV9HT1RfSVQnOiAiT2siLCdNSU5JUExBWUVSX0NPTExBUFNFX0xBQkVMJzogIlJlY29saGVyIiwnTUlOSVBMQVlFUl9FWFBBTkRfTEFCRUwnOiAiRXhwYW5kaXIiLCdRVUVVRSc6ICJGaWxhIiwnQURERURfVE9fUVVFVUUnOiAiQWRpY2lvbmFkbyDDoCBmaWxhIiwnUVVFVUVfQ0xFQVJFRCc6IHsib3RoZXIiOiAiIyB2XHUwMGVkZGVvcyByZW1vdmlkb3MgZGEgZmlsYSIsICJjYXNlMSI6ICIxIHZcdTAwZWRkZW8gcmVtb3ZpZG8gZGEgZmlsYSIsICJvbmUiOiAiIyB2XHUwMGVkZGVvIHJlbW92aWRvIGRhIGZpbGEifSwnUVVFVUVfQ0xFQVJFRF9VTlBMVVJBTElaRUQnOiJGaWxhIHZhemlhIiwnTUlOSVBMQVlFUl9DTE9TRSc6ICJGZWNoYXIgcGxheWVyIiwnUVVFVUVfQ0xPU0VfTUlOSVBMQVlFUl9DT05GSVJNX1RJVExFJzogIkEgZmlsYSBzZXLDoSBleGNsdcOtZGEiLCdRVUVVRV9DTE9TRV9NSU5JUExBWUVSX0NPTkZJUk1fQk9EWV9URVhUJzogIlZvY8OqIHF1ZXIgbWVzbW8gZmVjaGFyIG8gcGxheWVyPyIsJ1FVRVVFX1JFQ09WRVJfQlVUVE9OJzogIlJlYXRpdmFyIiwnUVVFVUVfUkVDT1ZFUl9NRVNTQUdFJzogIlJlY3VwZXJhciBhIGZpbGEiLCdDTEVBUic6ICJMaW1wYXIiLCdVTkRPJzogIkRlc2ZhemVyIiwnQ0FOQ0VMJzogIkNhbmNlbGFyIiwnU1VCU19GSUxURVJfRURVX1RFWFQnOiAiVmVqYSBub3ZvcyB2w61kZW9zIGRlIGNhZGEgY2FuYWwiLCdTVUJTX0dVSURFX0lURU1fRURVX1RFWFQnOiAiVmVqYSBub3ZvcyB2w61kZW9zIGRlIHRvZGFzIGFzIHN1YXMgaW5zY3Jpw6fDtWVzIiwnU1VCU19GSUxURVJfRURVX0NIQU5ORUxfVEVYVCc6ICJNb3N0cmFuZG8gbm92b3MgdsOtZGVvcyBkZXN0ZSBjYW5hbC4iLCdMSUJSQVJZX0dVSURFX0lURU1fRURVX1RJVExFJzogIlZlamEgc3VhIG5vdmEgYmlibGlvdGVjYSIsJ0xJQlJBUllfR1VJREVfSVRFTV9FRFVfVEVYVCc6ICJFbmNvbnRyZSBzZXUgaGlzdMOzcmljbywgcGxheWxpc3RzLCBjb21wcmFzIGUgbXVpdG8gbWFpcyIsJ01FTlRJT05TX0VEVV9USVRMRSc6ICJTYWliYSBtYWlzIiwnTUVOVElPTlNfRURVX1RFWFQnOiAiQWNlc3NlIGEgQ2VudHJhbCBkZSBBanVkYSBwYXJhIHZlciBjb21vIGFzIG1lbsOnw7VlcyBmdW5jaW9uYW0gbm8gWW91VHViZS4iLCdOT19JTlRFUk5FVF9DT05ORUNUSU9OJzogIlNlbSBjb25leMOjbyDDoCBJbnRlcm5ldCIsJ0NPTk5FQ1RfVE9fVEhFX0lOVEVSTkVUJzogIkNvbmVjdGUtc2Ugw6AgSW50ZXJuZXQiLCdPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04nOiAiVm9jw6ogZXN0w6Egb2ZmLWxpbmUuIFZlcmlmaXF1ZSBzdWEgY29uZXjDo28uIiwnUkVUUlknOiAiVGVudGFyIG5vdmFtZW50ZSIsJ0pPSU5fTUVNQkVSU0hJUF9FRFVfVElUTEUnOiAiQXNzaW5hdHVyYSIsJ0pPSU5fTUVNQkVSU0hJUF9FRFVfVEVYVCc6ICJHYW5oZSBiZW5lZsOtY2lvcyBleGNsdXNpdm9zIGFvIHNlIHRvcm5hciBtZW1icm8gZGVzdGUgY2FuYWwuIiwnU0hBUkVfUE9TVF9FRFVfVEVYVCc6ICJBZ29yYSwgdm9jw6ogcG9kZSBjb21wYXJ0aWxoYXIgcG9zdGFnZW5zIG5vIFlvdVR1YmUiLCdGUkVFQklFX0pPSU5fTUVNQkVSU0hJUF9FRFVfVEVYVCc6ICJFc3RlIGNhbmFsIG9mZXJlY2UgdW1hIGFzc2luYXR1cmEgcXVlIHZvY8OqIHBvZGUgYXByb3ZlaXRhciBncmF0dWl0YW1lbnRlIGNvbSBvIFlvdVR1YmUgUHJlbWl1bSIsJ01BTkFHRV9NRU1CRVJTSElQX0VEVV9URVhUJzogIkFjZXNzZSBzZXVzIGJlbmVmw61jaW9zIGUgZ2VyZW5jaWUgc3VhIGFzc2luYXR1cmEgYXF1aS4ifSk7fSkoKTt5dGNmZy5zZXQoJ01FTlRJT05TX0VEVV9IRUxQX0xJTksnLCAnaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20veW91dHViZS8/cD1jcmVhdG9yX2NvbW11bml0eScpO3l0Y2ZnLnNldCgnc2NoZWR1bGVyJywge3VzZVJhZjogdHJ1ZSwgdGltZW91dDogMjB9KTt5dGNmZy5zZXQoJ2luaXRpYWxJbm5lcldpZHRoJywgd2luZG93LmlubmVyV2lkdGgpO3l0Y2ZnLnNldCgnaW5pdGlhbElubmVySGVpZ2h0Jywgd2luZG93LmlubmVySGVpZ2h0KTt3aW5kb3cueXRjZmcuc2V0KCdJU19XQVRDSF9QQUdFX0NPTEQnLCB0cnVlKTt3aW5kb3cueXRjZmcuc2V0KCdMSU5LX0FQSV9LRVknLCAiQUl6YVN5RG9waEFRdXl5aUJyOGgwbnlwRXdYVUtvekgtQkVzd0QwIik7d2luZG93Lnl0Y2ZnLnNldCgnTElOS19HQUxfRE9NQUlOJywgImh0dHBzOlwvXC9hY2NvdW50bGlua2luZy1wYS1jbGllbnRzNi55b3V0dWJlLmNvbSIpO3dpbmRvdy55dGNmZy5zZXQoJ0xJTktfT0lTX0RPTUFJTicsICJvYXV0aGludGVncmF0aW9ucy5nb29nbGVhcGlzLmNvbSIpO2lmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygibHBjZiIsIG51bGwsICcnKTt9PC9zY3JpcHQ+ICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vc2NoZWR1bGVyLnZmbHNldC9zY2hlZHVsZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciIgPjwvc2NyaXB0PiAgCiAgPHNjcmlwdCA+CiAgICB5dGNmZy5zZXQoeyJJTk5FUlRVQkVfQ09OVEVYVCI6eyJjbGllbnQiOnsiaGwiOiJwdCIsImdsIjoiQlIiLCJ2aXNpdG9yRGF0YSI6IkNnczVOREo0U1ZWa2Qyc3RXU2o5ei1IOEJRJTNEJTNEIiwidXNlckFnZW50IjoiUnVieSxnemlwKGdmZSkiLCJjbGllbnROYW1lIjoiV0VCIiwiY2xpZW50VmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwicmVxdWVzdCI6eyJzZXNzaW9uSWQiOiI2ODg4MzY5OTY2ODQzNDQ4ODUyIn0sImFkU2lnbmFsc0luZm8iOnsiY29uc2VudEJ1bXBQYXJhbXMiOnsiY29uc2VudEhvc3RuYW1lT3ZlcnJpZGUiOiJodHRwczovL3d3dy55b3V0dWJlLmNvbSIsInVybE92ZXJyaWRlIjoiIn19fX0pOwogIDwvc2NyaXB0PgogIAo8c2NyaXB0ICBzcmM9Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9InBsYXllcl9pYXMvYmFzZSIgPjwvc2NyaXB0PiAgCjxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiY3NsIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICA8c3R5bGUgbmFtZT0id3d3LXJvYm90byIgPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIEl0YWxpYycpLGxvY2FsKCdSb2JvdG8tSXRhbGljJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1MXhJSXpjLnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSxsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTRteFAudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7c3JjOmxvY2FsKCdSb2JvdG8gTWVkaXVtJyksbG9jYWwoJ1JvYm90by1NZWRpdW0nKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbUVVOWZCQmM5LnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwO3NyYzpsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSxsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9qQ25xRXU5MkZyMU11NTFTN0FDYzZDc0UudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9PC9zdHlsZT48c2NyaXB0IG5hbWU9Ind3dy1yb2JvdG8iID5pZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMubG9hZCkge2RvY3VtZW50LmZvbnRzLmxvYWQoIjQwMCAxMHB0IFJvYm90byIsICJQIik7ZG9jdW1lbnQuZm9udHMubG9hZCgiNTAwIDEwcHQgUm9ib3RvIiwgIlAiKTt9PC9zY3JpcHQ+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVlUJTIwU2FucyUzQTMwMCUyQzUwMCUyQzcwMCIgbmFtZT0id3d3LXdlYmZvbnQteXQtc2FucyI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiIG5hbWU9InBsYXllci93d3ctcGxheWVyIiBpZD0icGxheWVyLWNzcyI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvY3NzYmluL3d3dy1tYWluLWRlc2t0b3AtcGxheWVyLXNrZWxldG9uLmNzcyIgbmFtZT0id3d3LW1haW4tZGVza3RvcC1wbGF5ZXItc2tlbGV0b24iPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2Nzc2Jpbi93d3ctbWFpbi1kZXNrdG9wLXdhdGNoLXBhZ2Utc2tlbGV0b24uY3NzIiBuYW1lPSJ3d3ctbWFpbi1kZXNrdG9wLXdhdGNoLXBhZ2Utc2tlbGV0b24iPjxzdHlsZSBuYW1lPSJnbG9iYWxfc3R5bGVzIj5ib2R5e3BhZGRpbmc6MDttYXJnaW46MDtvdmVyZmxvdy15OnNjcm9sbH1ib2R5LmF1dG9zY3JvbGx7b3ZlcmZsb3cteTphdXRvfWJvZHkubm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbn1ib2R5Lm5vLXktc2Nyb2xse292ZXJmbG93LXk6aGlkZGVufS5oaWRkZW57ZGlzcGxheTpub25lfXRleHRhcmVhey0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0Xy1fd2hpdGUtc3BhY2U6cHJlLXdyYXB9LmdyZWNhcHRjaGEtYmFkZ2V7dmlzaWJpbGl0eTpoaWRkZW59PC9zdHlsZT48c3R5bGUgbmFtZT0ibWFzdGhlYWRfc2hlbGwiPnl0ZC1tYXN0aGVhZC5zaGVsbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45OCk7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtsZWZ0OjA7ZGlzcGxheTotbXMtZmxleDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjU2cHg7LW1zLWZsZXgtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn15dGQtbWFzdGhlYWQuc2hlbGwgI21lbnUtaWNvbnttYXJnaW4tbGVmdDoxNnB4fXl0ZC1hcHA+eXRkLW1hc3RoZWFkLmNodW5rZWR7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX15dGQtbWFzdGhlYWQuc2hlbGwuZGFyayx5dGQtbWFzdGhlYWQuc2hlbGwudGhlYXRlcntiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC45OCl9eXRkLW1hc3RoZWFkLnNoZWxsLmZ1bGwtd2luZG93LW1vZGV7YmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuOTgpO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKC0xMDAlIC0gNXB4KSl9eXRkLW1hc3RoZWFkLnNoZWxsPio6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjE2cHh9eXRkLW1hc3RoZWFkLnNoZWxsPio6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjE2cHh9eXRkLW1hc3RoZWFkICNtYXN0aGVhZC1sb2dve2Rpc3BsYXk6LW1zLWZsZXg7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fXl0ZC1tYXN0aGVhZCAjbWFzdGhlYWQtbG9nbyAjY291bnRyeS1jb2Rle21hcmdpbi1yaWdodDoycHh9eXRkLW1hc3RoZWFkLnNoZWxsICN5dC1sb2dvLXN2Zyx5dGQtbWFzdGhlYWQuc2hlbGwgI3l0LWxvZ28tcmVkLXN2Z3thbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tbGVmdDo4cHg7cGFkZGluZzowO2NvbG9yOmJsYWNrfXl0ZC1tYXN0aGVhZC5zaGVsbCAjYTExeS1za2lwLW5hdntkaXNwbGF5Om5vbmV9eXRkLW1hc3RoZWFkLnNoZWxsIHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O21hcmdpbi1yaWdodDo4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiM2MDYwNjA7ZmlsbDpjdXJyZW50Q29sb3J9eXRkLW1hc3RoZWFkIC5leHRlcm5hbC1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9eXRkLW1hc3RoZWFkIC55dC1pY29ucy1leHR7ZmlsbDpjdXJyZW50Q29sb3I7Y29sb3I6IzYwNjA2MH15dGQtbWFzdGhlYWQuc2hlbGwuZGFyayAueXQtaWNvbnMtZXh0IHl0ZC1tYXN0aGVhZC5zaGVsbC50aGVhdGVyIC55dC1pY29ucy1leHR7ZmlsbDojZmZmfXl0ZC1tYXN0aGVhZCBzdmcjeXQtbG9nby1zdmd7d2lkdGg6ODBweH15dGQtbWFzdGhlYWQgc3ZnI3l0LWxvZ28tcmVkLXN2Z3t3aWR0aDoxMDYuNHB4fUBtZWRpYSAobWF4LXdpZHRoOjY1NnB4KXt5dGQtbWFzdGhlYWQuc2hlbGw+KjpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6OHB4fXl0ZC1tYXN0aGVhZC5zaGVsbD4qOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo4cHh9eXRkLW1hc3RoZWFkLnNoZWxsIHN2Z3ttYXJnaW4tcmlnaHQ6MH15dGQtbWFzdGhlYWQgI21hc3RoZWFkLWxvZ297LW1zLWZsZXg6MSAxIC4wMDAwMDAwMDFweDstd2Via2l0LWZsZXg6MTtmbGV4OjE7LXdlYmtpdC1mbGV4LWJhc2lzOi4wMDAwMDAwMDFweDtmbGV4LWJhc2lzOi4wMDAwMDAwMDFweH15dGQtbWFzdGhlYWQuc2hlbGwgI3l0LWxvZ28tc3ZnLHl0ZC1tYXN0aGVhZC5zaGVsbCAjeXQtbG9nby1yZWQtc3Zne21hcmdpbi1sZWZ0OjRweH19QG1lZGlhIChtaW4td2lkdGg6ODc2cHgpe3l0ZC1tYXN0aGVhZCAjbWFzdGhlYWQtbG9nb3t3aWR0aDoxMjlweH19I21hc3RoZWFkLXNrZWxldG9uLWljb25ze2Rpc3BsYXk6ZmxleDtmbGV4OjE7ZmxleC1kaXJlY3Rpb246cm93O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH15dGQtbWFzdGhlYWQubWFzdGhlYWQtZmluaXNoICNtYXN0aGVhZC1za2VsZXRvbi1pY29uc3tkaXNwbGF5Om5vbmV9Lm1hc3RoZWFkLXNrZWxldG9uLWljb257Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweDttYXJnaW46MCA4cHg7YmFja2dyb3VuZC1jb2xvcjpoc2woMCwwJSw4OSUpfXl0ZC1tYXN0aGVhZC5kYXJrIC5tYXN0aGVhZC1za2VsZXRvbi1pY29ue2JhY2tncm91bmQtY29sb3I6aHNsKDAsMCUsMTYlKX08L3N0eWxlPjxzdHlsZSBuYW1lPSJtYXN0aGVhZF9jdXN0b21fc3R5bGVzIiBpcz0iY3VzdG9tLXN0eWxlIiAgaWQ9ImV4dC1zdHlsZXMiID55dGQtbWFzdGhlYWQgLnl0LWljb25zLWV4dHtjb2xvcjp2YXIoLS15dC1zcGVjLWljb24tYWN0aXZlLW90aGVyKX15dGQtbWFzdGhlYWQgc3ZnI3l0LWxvZ28tc3ZnICN5b3V0dWJlLXBhdGhzIHBhdGgseXRkLW1hc3RoZWFkIHN2ZyN5dC1sb2dvLXJlZC1zdmcgI3lvdXR1YmUtcmVkLXBhdGhzIHBhdGh7ZmlsbDojMjgyODI4fXl0ZC1tYXN0aGVhZC5kYXJrIHN2ZyN5dC1sb2dvLXN2ZyAjeW91dHViZS1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZC5kYXJrIHN2ZyN5dC1sb2dvLXJlZC1zdmcgI3lvdXR1YmUtcmVkLXBhdGhzIHBhdGgseXRkLW1hc3RoZWFkLnRoZWF0ZXIgc3ZnI3l0LWxvZ28tc3ZnICN5b3V0dWJlLXBhdGhzIHBhdGgseXRkLW1hc3RoZWFkLnRoZWF0ZXIgc3ZnI3l0LWxvZ28tcmVkLXN2ZyAjeW91dHViZS1yZWQtcGF0aHMgcGF0aHtmaWxsOiNmZmZ9PC9zdHlsZT48c3R5bGUgbmFtZT0ic2VhcmNoYm94Ij4jc2VhcmNoLWlucHV0Lnl0ZC1zZWFyY2hib3gtc3B0IGlucHV0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmU7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTonUm9ib3RvJywnTm90bycsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDo0cHg7bWF4LXdpZHRoOjEwMCU7b3V0bGluZTpub25lO3RleHQtYWxpZ246aW5oZXJpdDt3aWR0aDoxMDAlOy1tcy1mbGV4OjEgMSAuMDAwMDAwMDAxcHg7LXdlYmtpdC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtZmxleC1iYXNpczouMDAwMDAwMDAxcHg7ZmxleC1iYXNpczouMDAwMDAwMDAxcHh9I3NlYXJjaC1jb250YWluZXIueXRkLXNlYXJjaGJveC1zcHR7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0jc2VhcmNoLWlucHV0Lnl0ZC1zZWFyY2hib3gtc3B0ICNzZWFyY2g6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsI3NlYXJjaC1pbnB1dC55dGQtc2VhcmNoYm94LXNwdCAjc2VhcmNoOjotbW96LWlucHV0LXBsYWNlaG9sZGVyLCNzZWFyY2gtaW5wdXQueXRkLXNlYXJjaGJveC1zcHQgI3NlYXJjaDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6aHNsKDAsMCUsNTMuMyUpfTwvc3R5bGU+PHN0eWxlIG5hbWU9Imtldmxhcl9nbG9iYWxfc3R5bGVzIj5odG1se2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOSFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0Om5vbmV9aHRtbFtkYXJrXXtiYWNrZ3JvdW5kLWNvbG9yOiMxODE4MTghaW1wb3J0YW50fSNsb2dvLXJlZC1pY29uLWNvbnRhaW5lci55dGQtdG9wYmFyLWxvZ28tcmVuZGVyZXJ7d2lkdGg6ODZweH08L3N0eWxlPjxzdHlsZSBuYW1lPSJlbWVyZ2VuY3ljc3NleHAiPgogICAgICAKICAgICAgCiAgICA8L3N0eWxlPjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9vcGVuc2VhcmNoP2xvY2FsZT1wdF9CUiIgdGl0bGU9IllvdVR1YmUiPjxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Ii9zL25vdGlmaWNhdGlvbnMvbWFuaWZlc3QvbWFuaWZlc3QuanNvbiIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+PCEtLSBlbmQgb2YgY2h1bmsgLS0+ICAgICAgICA8c2NyaXB0ID4KICAgICAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImJjIiwgbnVsbCwgJycpO30gICAgICAgIHZhciB5dGltZyA9IHt9O3l0aW1nLmNvdW50ID0gMTt5dGltZy5wcmVsb2FkID0gZnVuY3Rpb24oc3JjKSB7dmFyIGltZyA9IG5ldyBJbWFnZSgpO3ZhciBjb3VudCA9ICsreXRpbWcuY291bnQ7eXRpbWdbY291bnRdID0gaW1nO2ltZy5vbmxvYWQgPSBpbWcub25lcnJvciA9IGZ1bmN0aW9uKCkge2RlbGV0ZSB5dGltZ1tjb3VudF07fTtpbWcuc3JjID0gc3JjO307CiAgICAgICAgICB5dGltZy5wcmVsb2FkKCJodHRwczpcL1wvcjUtLS1zbi1veHVueGc4cGp2bi0ydjVlLmdvb2dsZXZpZGVvLmNvbVwvZ2VuZXJhdGVfMjA0Iik7CiAgICAgICAgICB5dGltZy5wcmVsb2FkKCJodHRwczpcL1wvcjUtLS1zbi1veHVueGc4cGp2bi0ydjVlLmdvb2dsZXZpZGVvLmNvbVwvZ2VuZXJhdGVfMjA0P2Nvbm4yIik7CiAgICAgIDwvc2NyaXB0PgoKICAKICAgIAogIDxkaXYgaWQ9InBsYXllciIgY2xhc3M9InNrZWxldG9uIj4KICAgICAgPGRpdiBpZD0icGxheWVyLWFwaSIgY2xhc3M9InBsYXllci13aWR0aCBwbGF5ZXItaGVpZ2h0IG9mZi1zY3JlZW4tdGFyZ2V0IHBsYXllci1hcGkiPjwvZGl2PgogICAgICAgIAogIDwvZGl2PgoKICA8IS0tIGVuZCBvZiBjaHVuayAtLT4KICAgIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYWkiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgogIDx5dGQtYXBwIGRpc2FibGUtdXBncmFkZT0idHJ1ZSI+CiAgICA8eXRkLW1hc3RoZWFkIGlkPSJtYXN0aGVhZCIgc2xvdD0ibWFzdGhlYWQiIGNsYXNzPSJzaGVsbCAgY2h1bmtlZCJkaXNhYmxlLXVwZ3JhZGU9InRydWUiPjxkaXYgaWQ9InNlYXJjaC1jb250YWluZXIiIGNsYXNzPSJ5dGQtc2VhcmNoYm94LXNwdCIgc2xvdD0ic2VhcmNoLWNvbnRhaW5lciI+PC9kaXY+PGRpdiBpZD0ic2VhcmNoLWlucHV0IiBjbGFzcz0ieXRkLXNlYXJjaGJveC1zcHQiIHNsb3Q9InNlYXJjaC1pbnB1dCI+PGlucHV0IGlkPSJzZWFyY2giIGF1dG9jYXBpdGFsaXplPSJub25lIiBhdXRvY29tcGxldGU9Im9mZiJhdXRvY29ycmVjdD0ib2ZmIiAgaGlkZGVuIG5hbWU9InNlYXJjaF9xdWVyeSIgdGFiaW5kZXg9IjAidHlwZT0idGV4dCIgc3BlbGxjaGVjaz0iZmFsc2UiPjwvZGl2PjxzdmcgaWQ9Im1lbnUtaWNvbiIgY2xhc3M9ImV4dGVybmFsLWljb24iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxnIGlkPSJtZW51IiBjbGFzcz0ieXQtaWNvbnMtZXh0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0zIDE4aDE4di0ySDN2MnptMC01aDE4di0ySDN2MnptMC03djJoMThWNkgzeiIvPjwvZz48L3N2Zz48ZGl2IGlkPSJtYXN0aGVhZC1sb2dvIiBzbG90PSJtYXN0aGVhZC1sb2dvIj4gIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7Ij4KICAgIDxzdmcgaWQ9Inl0LWxvZ28tc3ZnIiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgdmlld0JveD0iMCAwIDIwMCA2MCI+CiAgICAgIDxnIGlkPSJ5dC1sb2dvIiB2aWV3Qm94PSIwIDAgMjAwIDYwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KICAgICAgICA8Zz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiNGRjAwMDAiIGQ9Ik02MywxNC44N2MtMC43Mi0yLjctMi44NS00LjgzLTUuNTYtNS41NkM1Mi41NCw4LDMyLjg4LDgsMzIuODgsOFMxMy4yMyw4LDguMzIsOS4zMQogICAgICAgICAgICBjLTIuNywwLjcyLTQuODMsMi44NS01LjU2LDUuNTZDMS40NSwxOS43NywxLjQ1LDMwLDEuNDUsMzBzMCwxMC4yMywxLjMxLDE1LjEzYzAuNzIsMi43LDIuODUsNC44Myw1LjU2LDUuNTYKICAgICAgICAgICAgQzEzLjIzLDUyLDMyLjg4LDUyLDMyLjg4LDUyczE5LjY2LDAsMjQuNTYtMS4zMWMyLjctMC43Miw0LjgzLTIuODUsNS41Ni01LjU2QzY0LjMxLDQwLjIzLDY0LjMxLDMwLDY0LjMxLDMwCiAgICAgICAgICAgIFM2NC4zMSwxOS43Nyw2MywxNC44N3oiLz4KICAgICAgICAgIDxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMjYuNiwzOS40MyA0Mi45MywzMCAyNi42LDIwLjU3Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgPGcgaWQ9InlvdXR1YmUtcGF0aHMiPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNOTIuNjksNDguMDNjLTEuMjQtMC44NC0yLjEzLTIuMTQtMi42NS0zLjkxYy0wLjUyLTEuNzctMC43OS00LjEyLTAuNzktNy4wNnYtNAogICAgICAgICAgICAgIGMwLTIuOTcsMC4zLTUuMzUsMC45LTcuMTVjMC42LTEuOCwxLjU0LTMuMTEsMi44MS0zLjkzYzEuMjctMC44MiwyLjk0LTEuMjQsNS4wMS0xLjI0YzIuMDQsMCwzLjY3LDAuNDIsNC45LDEuMjYKICAgICAgICAgICAgICBjMS4yMywwLjg0LDIuMTMsMi4xNSwyLjcsMy45M2MwLjU3LDEuNzgsMC44NSw0LjE2LDAuODUsNy4xMnY0YzAsMi45NC0wLjI4LDUuMy0wLjgzLDcuMDhjLTAuNTUsMS43OC0xLjQ1LDMuMDktMi43LDMuOTEKICAgICAgICAgICAgICBjLTEuMjQsMC44Mi0yLjkzLDEuMjQtNS4wNiwxLjI0Qzk1LjY1LDQ5LjI5LDkzLjkzLDQ4Ljg3LDkyLjY5LDQ4LjAzeiBNOTkuNjYsNDMuNzFjMC4zNC0wLjksMC41Mi0yLjM3LDAuNTItNC40di04LjU5CiAgICAgICAgICAgICAgYzAtMS45OC0wLjE3LTMuNDItMC41Mi00LjM0Yy0wLjM0LTAuOTEtMC45NS0xLjM3LTEuODItMS4zN2MtMC44NCwwLTEuNDMsMC40Ni0xLjc4LDEuMzdjLTAuMzQsMC45MS0wLjUyLDIuMzYtMC41Miw0LjM0djguNTkKICAgICAgICAgICAgICBjMCwyLjA0LDAuMTYsMy41MSwwLjQ5LDQuNGMwLjMzLDAuOSwwLjkzLDEuMzUsMS44LDEuMzVDOTguNzEsNDUuMDYsOTkuMzEsNDQuNjEsOTkuNjYsNDMuNzF6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xODguMTYsMzcuMTN2MS4zOWMwLDEuNzcsMC4wNSwzLjA5LDAuMTYsMy45OGMwLjEsMC44OCwwLjMyLDEuNTMsMC42NSwxLjkzCiAgICAgICAgICAgICAgYzAuMzMsMC40LDAuODQsMC42MSwxLjUzLDAuNjFjMC45MywwLDEuNTctMC4zNiwxLjkxLTEuMDhjMC4zNC0wLjcyLDAuNTMtMS45MiwwLjU2LTMuNmw1LjM1LDAuMzEKICAgICAgICAgICAgICBjMC4wMywwLjI0LDAuMDQsMC41NywwLjA0LDAuOTljMCwyLjU1LTAuNyw0LjQ1LTIuMDksNS43MWMtMS4zOSwxLjI2LTMuMzYsMS44OS01LjkxLDEuODljLTMuMDYsMC01LjItMC45Ni02LjQzLTIuODgKICAgICAgICAgICAgICBjLTEuMjMtMS45Mi0xLjg0LTQuODgtMS44NC04Ljl2LTQuODFjMC00LjE0LDAuNjQtNy4xNSwxLjkxLTkuMDZjMS4yNy0xLjksMy40NS0yLjg1LDYuNTQtMi44NWMyLjEzLDAsMy43NiwwLjM5LDQuOSwxLjE3CiAgICAgICAgICAgICAgYzEuMTQsMC43OCwxLjk0LDEuOTksMi40MSwzLjY0YzAuNDYsMS42NSwwLjcsMy45MywwLjcsNi44M3Y0LjcySDE4OC4xNnogTTE4OC45NSwyNS41M2MtMC4zMSwwLjM5LTAuNTIsMS4wMy0wLjYzLDEuOTEKICAgICAgICAgICAgICBjLTAuMTEsMC44OC0wLjE2LDIuMjMtMC4xNiw0LjAydjEuOThoNC41NHYtMS45OGMwLTEuNzctMC4wNi0zLjExLTAuMTgtNC4wMmMtMC4xMi0wLjkxLTAuMzQtMS41Ni0wLjY1LTEuOTMKICAgICAgICAgICAgICBjLTAuMzEtMC4zNy0wLjgtMC41Ni0xLjQ2LTAuNTZDMTg5Ljc1LDI0Ljk0LDE4OS4yNiwyNS4xNCwxODguOTUsMjUuNTN6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik03Ny41OSwzNi42MWwtNy4wNi0yNS40OWg2LjE2bDIuNDcsMTEuNTVjMC42MywyLjg1LDEuMDksNS4yNywxLjM5LDcuMjhoMC4xOAogICAgICAgICAgICAgIGMwLjIxLTEuNDQsMC42Ny0zLjg1LDEuMzktNy4yNGwyLjU2LTExLjZoNi4xNkw4My43LDM2LjYxdjEyLjIzaC02LjExVjM2LjYxeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTI2LjQ1LDIxLjI4djI3LjU1aC00Ljg1bC0wLjU0LTMuMzdoLTAuMTNjLTEuMzIsMi41NS0zLjMsMy44Mi01LjkzLDMuODJjLTEuODMsMC0zLjE4LTAuNi00LjA1LTEuOAogICAgICAgICAgICAgIGMtMC44Ny0xLjItMS4zLTMuMDctMS4zLTUuNjJWMjEuMjhoNi4ydjIwLjIzYzAsMS4yMywwLjEzLDIuMTEsMC40LDIuNjNjMC4yNywwLjUyLDAuNzIsMC43OSwxLjM1LDAuNzkKICAgICAgICAgICAgICBjMC41NCwwLDEuMDYtMC4xNiwxLjU1LTAuNDljMC40OS0wLjMzLDAuODYtMC43NSwxLjEtMS4yNlYyMS4yOEgxMjYuNDV6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xNTguMjcsMjEuMjh2MjcuNTVoLTQuODVsLTAuNTQtMy4zN2gtMC4xM2MtMS4zMiwyLjU1LTMuMywzLjgyLTUuOTMsMy44MmMtMS44MywwLTMuMTgtMC42LTQuMDUtMS44CiAgICAgICAgICAgICAgYy0wLjg3LTEuMi0xLjMtMy4wNy0xLjMtNS42MlYyMS4yOGg2LjJ2MjAuMjNjMCwxLjIzLDAuMTMsMi4xMSwwLjQsMi42M2MwLjI3LDAuNTIsMC43MiwwLjc5LDEuMzUsMC43OQogICAgICAgICAgICAgIGMwLjU0LDAsMS4wNi0wLjE2LDEuNTUtMC40OWMwLjQ5LTAuMzMsMC44Ni0wLjc1LDEuMS0xLjI2VjIxLjI4SDE1OC4yN3oiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTE0My4zMSwxNi4xMWgtNi4xNnYzMi43MmgtNi4wN1YxNi4xMWgtNi4xNnYtNC45OWgxOC4zOFYxNi4xMXoiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTE3OC44LDI1LjY5Yy0wLjM4LTEuNzQtMC45OC0zLTEuODItMy43OGMtMC44NC0wLjc4LTEuOTktMS4xNy0zLjQ2LTEuMTdjLTEuMTQsMC0yLjIsMC4zMi0zLjE5LDAuOTcKICAgICAgICAgICAgICBjLTAuOTksMC42NC0xLjc1LDEuNDktMi4yOSwyLjU0aC0wLjA1bDAtMTQuNTJoLTUuOTh2MzkuMTFoNS4xMmwwLjYzLTIuNjFoMC4xM2MwLjQ4LDAuOTMsMS4yLDEuNjYsMi4xNiwyLjIKICAgICAgICAgICAgICBjMC45NiwwLjU0LDIuMDIsMC44MSwzLjE5LDAuODFjMi4xLDAsMy42NC0wLjk3LDQuNjMtMi45YzAuOTktMS45MywxLjQ4LTQuOTUsMS40OC05LjA2di00LjM2CiAgICAgICAgICAgICAgQzE3OS4zNiwyOS44NCwxNzkuMTcsMjcuNDMsMTc4LjgsMjUuNjl6IE0xNzMuMTEsMzYuOTNjMCwyLjAxLTAuMDgsMy41OC0wLjI1LDQuNzJjLTAuMTYsMS4xNC0wLjQ0LDEuOTUtMC44MywyLjQzCiAgICAgICAgICAgICAgYy0wLjM5LDAuNDgtMC45MSwwLjcyLTEuNTcsMC43MmMtMC41MSwwLTAuOTgtMC4xMi0xLjQyLTAuMzZjLTAuNDMtMC4yNC0wLjc5LTAuNi0xLjA2LTEuMDhWMjcuNzEKICAgICAgICAgICAgICBjMC4yMS0wLjc1LDAuNTctMS4zNiwxLjA4LTEuODRjMC41MS0wLjQ4LDEuMDYtMC43MiwxLjY2LTAuNzJjMC42MywwLDEuMTIsMC4yNSwxLjQ2LDAuNzRjMC4zNCwwLjQ5LDAuNTgsMS4zMywwLjcyLDIuNDkKICAgICAgICAgICAgICBjMC4xMywxLjE3LDAuMiwyLjgzLDAuMiw0Ljk5VjM2LjkzeiIvPgogICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9zdmc+CiAgPC9kaXY+CiAgPGRpdiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgPHN2ZyBpZD0ieXQtbG9nby1yZWQtc3ZnIiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgdmlld0JveD0iMCAwIDk4IDI0IiBzdHlsZT0id2lkdGg6ODZweDsiPgogICAgICA8ZyBpZD0ieXQtbG9nby1yZWQiIHZpZXdCb3g9IjAgMCA5OCAyNCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+CiAgICAgICAgPGc+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjRkYwMDAwIiBkPSJNMjguNCw1LjEyYy0wLjM0LTEuMjQtMS4zMS0yLjItMi41NS0yLjUyQzIzLjYyLDIsMTQuNjgsMiwxNC42OCwyUzUuNzUsMiwzLjUyLDIuNgogICAgICAgICAgICBDMi4yOSwyLjkzLDEuMzMsMy44OSwxLDUuMTJDMC41OSw3LjM5LDAuMzksOS42OSwwLjQsMTJjLTAuMDEsMi4zMSwwLjE5LDQuNjEsMC42LDYuODhjMC4zMywxLjIzLDEuMjksMi4xOSwyLjUyLDIuNTIKICAgICAgICAgICAgQzUuNzUsMjIsMTQuNjgsMjIsMTQuNjgsMjJzOC45MywwLDExLjE2LTAuNmMxLjI0LTAuMzIsMi4yMi0xLjI4LDIuNTYtMi41MmMwLjQxLTIuMjcsMC42MS00LjU3LDAuNi02Ljg4CiAgICAgICAgICAgIEMyOS4wMSw5LjY5LDI4LjgxLDcuMzksMjguNCw1LjEyeiIvPgogICAgICAgICAgPHBvbHlnb24gZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIxMS44MywxNi4yOSAxOS4yNSwxMiAxMS44Myw3LjcxIi8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIGlkPSJ5b3V0dWJlLXJlZC1wYXRocyI+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNDEuNjcsOC4zNVY5YzAsMy40NS0xLjUzLDUuNDgtNC44OCw1LjQ4aC0wLjUxdjZoLTIuNzRWMy40MmgzLjQ5QzQwLjIyLDMuNDIsNDEuNjcsNC43Nyw0MS42Nyw4LjM1egogICAgICAgICAgICBNMzguNzksOC42YzAtMi40OS0wLjQ1LTMuMDktMi0zLjA5aC0wLjUxdjdoMC40N2MxLjQ3LDAsMi0xLjA2LDItMy4zN0wzOC43OSw4LjZ6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNDguMTQsNy44M0w0OCwxMS4wOGMtMS4xNy0wLjI0LTIuMTMtMC4wOC0yLjYsMC42OXY4Ljc4aC0yLjY3VjhoMi4xN2wwLjI0LDIuNzFoMC4xYzAuMjgtMiwxLjItMywyLjM5LTMKICAgICAgICAgICAgQzQ3LjgsNy43Myw0Ny45OCw3Ljc3LDQ4LjE0LDcuODN6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNTEuMjcsMTUuMjV2MC42M2MwLDIuMjEsMC4xMiwzLDEuMDYsM3MxLjEtMC42OSwxLjEyLTIuMTJsMi40MywwLjE0YzAuMTgsMi43LTEuMjMsMy45LTMuNjEsMy45CiAgICAgICAgICAgIGMtMi45LDAtMy43Ni0xLjktMy43Ni01LjM1di0yLjIzYzAtMy42NCwxLTUuNDEsMy44NC01LjQxczMuNjQsMS41MSwzLjY0LDUuMjl2Mi4xNUg1MS4yN3ogTTUxLjI3LDEyLjY3djAuOWgyLjA2di0wLjg5CiAgICAgICAgICAgIGMwLTIuMy0wLjE2LTMtMS0zcy0xLDAuNjctMSwzTDUxLjI3LDEyLjY3eiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTcwLjAyLDExLjF2OS40Nkg2Ny4ydi05LjI1YzAtMS0wLjI3LTEuNTMtMC44OC0xLjUzYy0wLjU0LDAuMDItMS4wMiwwLjM0LTEuMjUsMC44MgogICAgICAgICAgICBjMC4wMSwwLjE3LDAuMDEsMC4zNCwwLDAuNTF2OS40NmgtMi43OXYtOS4yNmMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41MywwLjAyLTEsMC4zMy0xLjIzLDAuOHYxMEg1Ny40VjhoMi4yM2wwLjI1LDEuNTlsMCwwCiAgICAgICAgICAgIGMwLjUxLTEuMTIsMS42My0xLjg1LDIuODYtMS44NmMxLjA1LTAuMDcsMS45OCwwLjY3LDIuMTYsMS43YzAuNTUtMS4wMSwxLjYxLTEuNjUsMi43Ni0xLjY2QzY5LjQsNy43OCw3MC4wMiw5LDcwLjAyLDExLjF6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNzEuNCw0LjgzYzAtMS4zNSwwLjQ5LTEuNzQsMS41My0xLjc0czEuNTMsMC40NSwxLjUzLDEuNzRzLTAuNDcsMS43NC0xLjUzLDEuNzRTNzEuNCw2LjIyLDcxLjQsNC44M3oKICAgICAgICAgICAgTTcxLjU5LDhoMi43djEyLjU2aC0yLjdWOHoiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik04My41LDh2MTIuNTZoLTIuMkw4MS4wNSwxOWgtMC4wNmMtMC40NiwxLjA4LTEuNTMsMS43Ny0yLjcsMS43NGMtMS42NywwLTIuNDMtMS4wNi0yLjQzLTMuMzdWOGgyLjgyCiAgICAgICAgICAgIHY5LjE5YzAsMS4xLDAuMjMsMS41NSwwLjgsMS41NWMwLjUyLTAuMDIsMC45OC0wLjMzLDEuMi0wLjhWOEg4My41eiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTk3LjgsMTEuMXY5LjQ2aC0yLjgydi05LjI1YzAtMS0wLjI3LTEuNTMtMC44OC0xLjUzYy0wLjU0LDAuMDItMS4wMiwwLjM0LTEuMjUsMC44MgogICAgICAgICAgICBjMC4wMSwwLjE3LDAuMDEsMC4zNCwwLDAuNTF2OS40NmgtMi43OXYtOS4yNmMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41MywwLjAyLTEsMC4zMy0xLjIzLDAuOHYxMGgtMi44MVY4aDIuMjZsMC4yNCwxLjU5bDAsMAogICAgICAgICAgICBjMC41MS0xLjEyLDEuNjMtMS44NSwyLjg2LTEuODZjMS4wNC0wLjA3LDEuOTcsMC42NCwyLjE3LDEuNjZjMC41NS0wLjk5LDEuNi0xLjYxLDIuNzMtMS42MkM5Ny4xNSw3Ljc4LDk3LjgsOSw5Ny44LDExLjF6Ii8+CiAgICAgICAgPC9nPgogICAgICA8L2c+CiAgICA8L3N2Zz4KICA8L2Rpdj4KPHNwYW4gaWQ9ImNvdW50cnktY29kZSI+PC9zcGFuPjwvZGl2PjxkaXYgaWQ9Im1hc3RoZWFkLXNrZWxldG9uLWljb25zIiBzbG90PSJtYXN0aGVhZC1za2VsZXRvbiI+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PGRpdiBjbGFzcz0ibWFzdGhlYWQtc2tlbGV0b24taWNvbiI+PC9kaXY+PC9kaXY+PC95dGQtbWFzdGhlYWQ+CiAgICAgIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fib3V0LyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Tb2JyZTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9hYm91dC9wcmVzcy8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+SW1wcmVuc2E8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWJvdXQvY29weXJpZ2h0LyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5EaXJlaXRvcyBhdXRvcmFpczwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSIvdC9jb250YWN0X3VzIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkVudHJlIGVtIGNvbnRhdG88L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY3JlYXRvcnMvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkNyaWFkb3JlcyBkZSBjb250ZcO6ZG88L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWRzLyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5QdWJsaWNpZGFkZTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS95b3V0dWJlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkRlc2Vudm9sdmVkb3JlczwvYT4KCiAgICAgIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iL3QvdGVybXMiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+VGVybW9zPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS5ici9pbnRsL3B0LUJSL3BvbGljaWVzL3ByaXZhY3kvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlByaXZhY2lkYWRlPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWJvdXQvcG9saWNpZXMvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlBvbMOtdGljYSBlIFNlZ3VyYW7Dp2E8L2E+CiAgICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2hvd3lvdXR1YmV3b3Jrcz91dG1fY2FtcGFpZ249eXRnZW4mYW1wO3V0bV9zb3VyY2U9eXRocCZhbXA7dXRtX21lZGl1bT1MZWZ0TmF2JmFtcDt1dG1fY29udGVudD10eHQmYW1wO3U9aHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZob3d5b3V0dWJld29ya3MlM0Z1dG1fc291cmNlJTNEeXRocCUyNnV0bV9tZWRpdW0lM0RMZWZ0TmF2JTI2dXRtX2NhbXBhaWduJTNEeXRnZW4iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+Q29tbyBmdW5jaW9uYSBvIFlvdVR1YmU8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3Mtc2Vjb25kYXJ5IiBocmVmPSIvbmV3IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlRlc3RhciBvcyBub3ZvcyByZWN1cnNvczwvYT4KCiAgICAgIDxkaXYgaWQ9InZhdC1ub3RpY2UiIHNsb3Q9InZhdC1ub3RpY2UiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgPC9kaXY+CgogICAgICA8ZGl2IGlkPSJjb3B5cmlnaHQiIHNsb3Q9ImNvcHlyaWdodCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgIDxkaXYgZGlyPSJsdHIiIHN0eWxlPSJkaXNwbGF5OmlubGluZSI+JmNvcHk7IDIwMjAgR29vZ2xlIExMQzwvZGl2PgogIDwvZGl2PgoKICA8L3l0ZC1hcHA+CgogIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygibmNfcGoiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgogICAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3NwZi52ZmxzZXQvc3BmLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9InNwZi9zcGYiID48L3NjcmlwdD4gIAo8c2NyaXB0ID5pZiAod2luZG93Wydfc3BmX3N0YXRlJ10pIHt3aW5kb3dbJ19zcGZfc3RhdGUnXS5jb25maWcgPSB7ImFzc3VtZS1hbGwtanNvbi1yZXF1ZXN0cy1jaHVua2VkIjp0cnVlfTt9PC9zY3JpcHQ+ICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vbmV0d29yay52ZmxzZXQvbmV0d29yay5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJuZXR3b3JrL25ldHdvcmsiID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi93ZWItYW5pbWF0aW9ucy1uZXh0LWxpdGUubWluLnZmbHNldC93ZWItYW5pbWF0aW9ucy1uZXh0LWxpdGUubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9IndlYi1hbmltYXRpb25zLW5leHQtbGl0ZS5taW4vd2ViLWFuaW1hdGlvbnMtbmV4dC1saXRlLm1pbiIgPjwvc2NyaXB0PiAgCiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3dlYmNvbXBvbmVudHMtbGl0ZS1ub1BhdGNoLnZmbHNldC93ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJ3ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaC93ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaCIgPjwvc2NyaXB0PiAgCiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL2ZldGNoLXBvbHlmaWxsLnZmbHNldC9mZXRjaC1wb2x5ZmlsbC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJmZXRjaC1wb2x5ZmlsbC9mZXRjaC1wb2x5ZmlsbCIgPjwvc2NyaXB0PiAgCiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3d3dy1pMThuLWNvbnN0YW50cy1wdF9CUi52ZmxzZXQvd3d3LWkxOG4tY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9Ind3dy1pMThuLWNvbnN0YW50cy93d3ctaTE4bi1jb25zdGFudHMiID48L3NjcmlwdD4gIAogICAgICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInJzYmVfZHBqIiwgbnVsbCwgJycpO308L3NjcmlwdD4KCgo8c2NyaXB0ID4oZnVuY3Rpb24oKSB7dmFyIGxvYWRKUyA9IGZ1bmN0aW9uKGUpIHtpZiAoZSkge3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdIVE1MSW1wb3J0c0xvYWRlZCcsIGxvYWRKUyk7fXZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtzY3JpcHQuc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vZGVza3RvcF9wb2x5bWVyX2lubGluZWRfaHRtbF9wb2x5bWVyX2ZsYWdzX2xlZ2FjeV9icm93c2Vycy52ZmxzZXQvZGVza3RvcF9wb2x5bWVyX2lubGluZWRfaHRtbF9wb2x5bWVyX2ZsYWdzX2xlZ2FjeV9icm93c2Vycy5qcyI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO3NjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbigpIHt2YXIgbG9hZEV2ZW50ID0gbmV3IEV2ZW50KCJzY3JpcHQtbG9hZC1kcGoiKTt3aW5kb3cuZGlzcGF0Y2hFdmVudChsb2FkRXZlbnQpO307fTtpZiAod2luZG93LkhUTUxJbXBvcnRzICYmIHdpbmRvdy5IVE1MSW1wb3J0cy5yZWFkeSkge2xvYWRKUygpO30gZWxzZSB7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0hUTUxJbXBvcnRzTG9hZGVkJywgbG9hZEpTKTt9fSkoKTs8L3NjcmlwdD4gICAgICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInJzYWVfZHBqIiwgbnVsbCwgJycpO308L3NjcmlwdD4KCiAgCjxzY3JpcHQgPnZhciBzY2hlZHVsZUFwcExvYWQ9ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2NyaXB0LWxvYWQtZHBqIixzY2hlZHVsZUFwcExvYWQpO2lmKHdpbmRvdy55dHNpZ25hbHMmJndpbmRvdy55dHNpZ25hbHMuZ2V0SW5zdGFuY2Upe3ZhciBhPXdpbmRvdy55dHNpZ25hbHMuZ2V0SW5zdGFuY2UoKSxiPWEub25BbnkoWyJlb2lyIiwiZW9yIl0pO2EucGFya09yU2NoZWR1bGVKb2IoYXBwTG9hZCwzLGIpfWVsc2UgaWYoYXBwTG9hZCgpLGE9d2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQsYT0tMT09PWEuaW5kZXhPZigibXNuYm90IikmJi0xPT09YS5pbmRleE9mKCJCaW5nUHJldmlldyIpJiYtMT09PWEuaW5kZXhPZigiYmluZ2JvdCIpKXdpbmRvdy5vbmVycm9yKCJ5dHNpZ25hbHMgbWlzc2luZyIsImFzeW5jX2F0dGFjaF9hcHBfbG9hZGVyLmpzIiwwLDAsRXJyb3IoInl0c2lnbmFscyBtaXNzaW5nIikpfSxhcHBMb2FkPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93Lnl0Y3NpOwphJiZhLnRpY2soImFwYV9iIik7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRkLWFwcCIpLGM9YiYmYi5xdWVyeVNlbGVjdG9yKCJ5dGQtbWFzdGhlYWQiKTtjJiZjLnJlbW92ZUF0dHJpYnV0ZSgiZGlzYWJsZS11cGdyYWRlIik7YiYmYi5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGUtdXBncmFkZSIpO2EmJmEudGljaygiYXBhX2EiKX0seXRTaWduYWxzPXdpbmRvdy55dHNpZ25hbHM7eXRTaWduYWxzP3NjaGVkdWxlQXBwTG9hZCgpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JpcHQtbG9hZC1kcGoiLHNjaGVkdWxlQXBwTG9hZCk7Cjwvc2NyaXB0PiAgCgogIDxzY3JpcHQgPgogICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJhYyIsIG51bGwsICcnKTt9CiAgICB2YXIgb25Qb2x5bWVyUmVhZHkgPSBmdW5jdGlvbihlKSB7CiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JpcHQtbG9hZC1kcGonLCBvblBvbHltZXJSZWFkeSk7CiAgICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYXByIiwgbnVsbCwgJycpO30KICAgIH0KCiAgICBpZiAod2luZG93LlBvbHltZXIgJiYgUG9seW1lci5SZW5kZXJTdGF0dXMpIHsKICAgICAgb25Qb2x5bWVyUmVhZHkoKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JpcHQtbG9hZC1kcGonLCBvblBvbHltZXJSZWFkeSk7CiAgICB9CgogIDwvc2NyaXB0PgogIDwhLS0gZW5kIG9mIGNodW5rIC0tPgogICAgPGRpdiBpZD0id2F0Y2gtcGFnZS1za2VsZXRvbiIgY2xhc3M9IndhdGNoLXNrZWxldG9uICI+CiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8ZGl2IGlkPSJyZWxhdGVkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvcGxheSBza2VsZXRvbi1saWdodC1ib3JkZXItYm90dG9tIj4KICAgICAgICAgIDxkaXYgaWQ9InVwbmV4dCIgY2xhc3M9InNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tc2tlbGV0b24iPgogICAgPGRpdiBjbGFzcz0idmlkZW8tZGV0YWlscyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbHMgZmxleC0xIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby10aXRsZSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1tZXRhIHRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgPC9kaXY+CiAgICAgIDxkaXYgaWQ9ImluZm8tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGlkPSJwcmltYXJ5LWluZm8iIGNsYXNzPSJza2VsZXRvbi1saWdodC1ib3JkZXItYm90dG9tIj4KICAgICAgICAgIDxkaXYgaWQ9InRpdGxlIiBjbGFzcz0idGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJpbmZvIj4KICAgICAgICAgICAgPGRpdiBpZD0iY291bnQiIGNsYXNzPSJ0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleC0xIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibWVudSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWJ1dHRvbiBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBpZD0ic2Vjb25kYXJ5LWluZm8iIGNsYXNzPSJza2VsZXRvbi1saWdodC1ib3JkZXItYm90dG9tIj4KICAgICAgICAgIDxkaXYgaWQ9InRvcC1yb3ciPgogICAgICAgICAgICA8ZGl2IGlkPSJ2aWRlby1vd25lciIgY2xhc3M9ImZsZXgtMSI+CiAgICAgICAgICAgICAgPGRpdiBpZD0iY2hhbm5lbC1pY29uIiBjbGFzcz0ic2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgaWQ9InVwbG9hZC1pbmZvIiBjbGFzcz0iZmxleC0xIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im93bmVyLW5hbWUiCiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0icHVibGlzaGVkLWRhdGUiCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJzdWJzY3JpYmUtYnV0dG9uIiBjbGFzcz0ic2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJnY2MiLCBudWxsLCAnJyk7fTwvc2NyaXB0PiAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJwZGMiLCBudWxsLCAnJyk7fTwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9U1VrWHZXbjFtN1EiPgoKICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBtZWRpYT0iaGFuZGhlbGQiIGhyZWY9Imh0dHBzOi8vbS55b3V0dWJlLmNvbS93YXRjaD92PVNVa1h2V24xbTdRIj4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBtZWRpYT0ib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSIgaHJlZj0iaHR0cHM6Ly9tLnlvdXR1YmUuY29tL3dhdGNoP3Y9U1VrWHZXbjFtN1EiPgogIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpIj4KCiAgICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJBcHJvdmVpdGUgdsOtZGVvcyBlIG3DunNpY2EgcXVlIHZvY8OqIGFtYSwgZW52aWUgY29udGXDumRvIG9yaWdpbmFsIGUgY29tcGFydGlsaGUtbyBjb20gYW1pZ29zLCBwYXJlbnRlcyBlIG8gbXVuZG8gbm8gWW91VHViZS4iPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9InbDrWRlbywgY29tcGFydGlsaGFtZW50bywgY2VsdWxhciBjb20gY8OibWVyYSwgdmlkZW9mb25lLCBncmF0dWl0bywgdXBsb2FkIj4KICAgIDxpZnJhbWUgc3JjPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP2NvbnRpbnVlPWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2YXBwJTNEZGVza3RvcCUyNmZlYXR1cmUlM0RwYXNzaXZlJTI2aGwlM0RwdCUyNm5leHQlM0QlMjUyRnNpZ25pbl9wYXNzaXZlJmFtcDtobD1wdC1CUiZhbXA7cGFzc2l2ZT10cnVlJmFtcDtzZXJ2aWNlPXlvdXR1YmUmYW1wO3VpbGVsPTMiIHN0eWxlPSJkaXNwbGF5OiBub25lIiA+PC9pZnJhbWU+CiAgPC9oZWFkPgogIDxib2R5IGRpcj0ibHRyIiBuby15LW92ZXJmbG93PgogIDxzY3JpcHQgPgogICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJicyIsIG51bGwsICcnKTt9ICAgIHl0Y2ZnLnNldCgnaW5pdGlhbEJvZHlDbGllbnRXaWR0aCcsIGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpOwoKICAgIHdpbmRvdy55dGNmZy5zZXQoJ1NFUlZJQ0VfV09SS0VSX0tJTExTV0lUQ0gnLCBmYWxzZSk7CiAgPC9zY3JpcHQ+CiAgPHNjcmlwdCA+CiAgICB3aW5kb3dbInl0SW5pdGlhbERhdGEiXSA9IHsicmVzcG9uc2VDb250ZXh0Ijp7IndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGEiOnsieXRDb25maWdEYXRhIjp7ImNzbiI6Il9XZVlYOXV3QTVQRXdnUzJfWnZvQXciLCJ2aXNpdG9yRGF0YSI6IkNnczVOREo0U1ZWa2Qyc3RXU2o5ei1IOEJRJTNEJTNEIiwicm9vdFZpc3VhbEVsZW1lbnRUeXBlIjozODMyfX19LCJ3ZWJXYXRjaE5leHRSZXNwb25zZUV4dGVuc2lvbkRhdGEiOnsicmVsYXRlZFZpZGVvQXJncyI6IiJ9fTsKICAgIHdpbmRvd1sieXRJbml0aWFsUGxheWVyUmVzcG9uc2UiXSA9IHsicmVzcG9uc2VDb250ZXh0Ijp7InNlcnZpY2VUcmFja2luZ1BhcmFtcyI6W3sic2VydmljZSI6IkdGRUVEQkFDSyIsInBhcmFtcyI6W3sia2V5IjoiaXNfdmlld2VkX2xpdmUiLCJ2YWx1ZSI6IkZhbHNlIn0seyJrZXkiOiJsb2dnZWRfaW4iLCJ2YWx1ZSI6IjAifSx7ImtleSI6ImUiLCJ2YWx1ZSI6IjIzNzIzMjA3LDIzOTQ2NDIwLDIzOTYyODgyLDI0NTkwMjg5LDIzOTUyOTUxLDIzOTQzMjkzLDIzOTUxMTM5LDIzODM5NTk3LDIzODg1NTcyLDIzOTQwMjQ3LDIzODU3OTQ5LDIzODgyNTAzLDIzOTQyNjMzLDIzOTU2NzU0LDIzOTQyMzM4LDIzOTQ3NjgxLDIzOTUxNjIwLDE3MTQyNTQsMjM4OTA5NTksMjM3NDQxNzYsMjM4ODAwNDMsMjM5NjI5NjIsMjM5Mjc3NjcsMjM4ODE0NDAsMjM5Mjg1MDgsMjM5MzAyMjAsMjM5NDQ3NzksMjM5NjI5MjAsMjM4MDQyODEsMjM5MzQ5NzAsMjM5NTA1OTcsMjQ1OTAyNzgsMjM5NDc2OTgsMjM5NDg4NDEsMjM5NTQwMDAsMjM5NTU4NjMsMjM5MTEwNTUsMjM5NjM2MTMsMjM5MTg1OTcsMjM5NjAzODYsMjM4ODQzODYsMjM3NDE1MjIsOTQ2NjU5MyJ9XX0seyJzZXJ2aWNlIjoiQ1NJIiwicGFyYW1zIjpbeyJrZXkiOiJjIiwidmFsdWUiOiJXRUIifSx7ImtleSI6ImN2ZXIiLCJ2YWx1ZSI6IjIuMjAyMDEwMjMuMDIuMDAifSx7ImtleSI6Inl0X2xpIiwidmFsdWUiOiIwIn0seyJrZXkiOiJHZXRQbGF5ZXJfcmlkIiwidmFsdWUiOiIweDllYzczMTRmZDA2NWUzYjcifV19LHsic2VydmljZSI6IkdVSURFRF9IRUxQIiwicGFyYW1zIjpbeyJrZXkiOiJsb2dnZWRfaW4iLCJ2YWx1ZSI6IjAifV19LHsic2VydmljZSI6IkVDQVRDSEVSIiwicGFyYW1zIjpbeyJrZXkiOiJjbGllbnQudmVyc2lvbiIsInZhbHVlIjoiMi4yMDIwMTAyMyJ9LHsia2V5IjoiY2xpZW50Lm5hbWUiLCJ2YWx1ZSI6IldFQiJ9XX1dLCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhIjp7Inl0Q29uZmlnRGF0YSI6eyJjc24iOiJfV2VZWDl1d0E1UEV3Z1MyX1p2b0F3IiwidmlzaXRvckRhdGEiOiJDZ3M1TkRKNFNWVmtkMnN0V1NqOXotSDhCUSUzRCUzRCIsInJvb3RWaXN1YWxFbGVtZW50VHlwZSI6MzgzMn0sImhhc0RlY29yYXRlZCI6dHJ1ZX19LCJwbGF5YWJpbGl0eVN0YXR1cyI6eyJzdGF0dXMiOiJFUlJPUiIsInJlYXNvbiI6IlbDrWRlbyBpbmRpc3BvbsOtdmVsIiwiZXJyb3JTY3JlZW4iOnsicGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiOnsicmVhc29uIjp7InNpbXBsZVRleHQiOiJWw61kZW8gaW5kaXNwb27DrXZlbCJ9LCJ0aHVtYm5haWwiOnsidGh1bWJuYWlscyI6W3sidXJsIjoiLy9zLnl0aW1nLmNvbS95dHMvaW1nL21laDctdmZsR2V2ZWo3LnBuZyIsIndpZHRoIjoxNDAsImhlaWdodCI6MTAwfV19LCJpY29uIjp7Imljb25UeXBlIjoiRVJST1JfT1VUTElORSJ9fX0sImNvbnRleHRQYXJhbXMiOiJRMEZCVTBGblowRT0ifSwidHJhY2tpbmdQYXJhbXMiOiJDQUFRdTJraUV3aWIwUHJGdE5Yc0FoVkxCaDRBSFFENUFkOD0ifTsKICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicGRyIiwgbnVsbCwgJycpO30KICA8L3NjcmlwdD4KICAgICAgPHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBjb25maWdzID0geyJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9QTEFZTElTVF9PVkVSVklFVyI6eyJyb290RWxlbWVudElkIjoiYzQtcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1BMQVlMSVNUX09WRVJWSUVXIiwiZXZlbnRMYWJlbCI6InBsYXlsaXN0b3ZlcnZpZXciLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiZGlzYWJsZVNoYXJpbmciOnRydWUsImhpZGVJbmZvIjp0cnVlLCJkaXNhYmxlV2F0Y2hMYXRlciI6dHJ1ZSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJwbGF5bGlzdF9vdmVydmlldyJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9XQVRDSCI6eyJ0cmFuc3BhcmVudEJhY2tncm91bmQiOnRydWUsInVzZUZhc3RTaXppbmdPbldhdGNoRGVmYXVsdCI6ZmFsc2UsInNob3dNaW5pcGxheWVyQnV0dG9uIjp0cnVlLCJleHRlcm5hbEZ1bGxzY3JlZW4iOnRydWUsInNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkIjp0cnVlLCJyb290RWxlbWVudElkIjoibW92aWVfcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1dBVENIIiwiZXZlbnRMYWJlbCI6ImRldGFpbHBhZ2UiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJ3YXRjaCJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9TUE9OU09SU0hJUFNfT0ZGRVIiOnsicm9vdEVsZW1lbnRJZCI6Inl0ZC1zcG9uc29yc2hpcHMtb2ZmZXItd2l0aC12aWRlby1yZW5kZXJlciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9TUE9OU09SU0hJUFNfT0ZGRVIiLCJldmVudExhYmVsIjoic3BvbnNvcnNoaXBzb2ZmZXIiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRpc2FibGVSZWxhdGVkVmlkZW9zIjp0cnVlLCJhbm5vdGF0aW9uc0xvYWRQb2xpY3kiOjMsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiZGlzYWJsZUZ1bGxzY3JlZW4iOnRydWUsImNhbmFyeVN0YXRlIjoibm9uZSJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9WRVJUSUNBTF9MQU5ESU5HX1BBR0VfUFJPTU8iOnsicm9vdEVsZW1lbnRJZCI6Inl0ZC1kZWZhdWx0LXByb21vLXBhbmVsLXJlbmRlcmVyLWlubGluZS1wbGF5YmFjay1yZW5kZXJlciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9WRVJUSUNBTF9MQU5ESU5HX1BBR0VfUFJPTU8iLCJldmVudExhYmVsIjoicHJvZmlsZXBhZ2UiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImNvbnRyb2xzVHlwZSI6MCwiZGlzYWJsZVJlbGF0ZWRWaWRlb3MiOnRydWUsImFubm90YXRpb25zTG9hZFBvbGljeSI6MywiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJoaWRlSW5mbyI6dHJ1ZSwic3RhcnRNdXRlZCI6dHJ1ZSwiZW5hYmxlTXV0ZWRBdXRvcGxheSI6dHJ1ZSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJjaGFubmVscyJ9LCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9DSEFOTkVMX1RSQUlMRVIiOnsicm9vdEVsZW1lbnRJZCI6ImM0LXBsYXllciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9DSEFOTkVMX1RSQUlMRVIiLCJldmVudExhYmVsIjoicHJvZmlsZXBhZ2UiLCJjb250ZW50UmVnaW9uIjoiQlIiLCJobCI6InB0X0JSIiwiaG9zdExhbmd1YWdlIjoicHQiLCJwbGF5ZXJTdHlsZSI6ImRlc2t0b3AtcG9seW1lciIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCIsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwiY3NpUGFnZVR5cGUiOiJjaGFubmVscyJ9fTtmb3IgKHZhciBjb250ZXh0SWQgaW4gY29uZmlncykge2NvbmZpZ3NbY29udGV4dElkXVsnc2VyaWFsaXplZEV4cGVyaW1lbnRJZHMnXSA9ICIyMzcyMzIwNywyMzc0MTUyMiwyMzc0NDE3NiwyMzgwNDI4MSwyMzgzOTU5NywyMzg1Njk1MCwyMzg1Nzk0OSwyMzg2ODMyNCwyMzg4MDA0MywyMzg4MTQ0MCwyMzg4MjUwMywyMzg4NDM4NiwyMzg4NTU3MiwyMzg5MDk1OSwyMzg5NTY3MSwyMzkxMTA1NSwyMzkxNTk5MywyMzkxODU5NywyMzkyNzc2NywyMzkyNzc2NywyMzkyODUwOCwyMzkzMDIyMCwyMzkzNDk3MCwyMzk0MDI0NywyMzk0MjMzOCwyMzk0MjYzMywyMzk0MzI5MywyMzk0NDc3OSwyMzk0NTQ3OSwyMzk0NjQyMCwyMzk0NzY4MSwyMzk0NzY5OCwyMzk0ODg0MSwyMzk1MDU5NywyMzk1MTEzOSwyMzk1MTYyMCwyMzk1Mjk1MSwyMzk1NDAwMCwyMzk1NTg2MywyMzk1Njc1NCwyMzk2MDM4NiwyMzk2Mjg4MiwyMzk2MjkyMCwyMzk2Mjk2MiwyMzk2MzYxMywyNDU5MDI3OCwyNDU5MDI4OSwyNDYzMTY0Nyw5NDQ5MjQzLDk0NjY1OTMiO2NvbmZpZ3NbY29udGV4dElkXVsnc2VyaWFsaXplZEV4cGVyaW1lbnRGbGFncyddID0gInZhcmlhYmxlX2xvYWRfdGltZW91dF9tcz0wXHUwMDI2d2ViX3BsYXllcl9pbmNsdWRlX2lubmVydHViZV9jb21tYW5kcz10cnVlXHUwMDI2aHRtbDVfcmVsb2FkX2VsZW1lbnRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tcz0yMDAwMFx1MDAyNnNlbGZfcG9kZGluZ19wb2RfY2hvaWNlX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfcG9kX2Nob2ljZVx1MDAyNmh0bWw1X2xvZ190aW1lc3RhbXBfb2Zmc2V0PXRydWVcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXM9MjAwMFx1MDAyNmh0bWw1X3ZwOV9taW1lX2Z1bGxfcmFuZ2VfZmxhZz10cnVlXHUwMDI2a2V2bGFyX3F1ZXVlX3VzZV9kZWRpY2F0ZWRfbGlzdF90eXBlPXRydWVcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zPTEyMDAwXHUwMDI2aHRtbDVfc2FmYXJpX2Rlc2t0b3BfZW1lX21pbl92ZXJzaW9uPTBcdTAwMjZodG1sNV9ub25fbmV0d29ya19yZWJ1ZmZlcl9kdXJhdGlvbl9tcz0wXHUwMDI2dmFyaWFibGVfYnVmZmVyX3RpbWVvdXRfbXM9MFx1MDAyNnBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGU9dHJ1ZVx1MDAyNnVucGx1Z2dlZF90dmh0bWw1X3ZpZGVvX3ByZWxvYWRfb25fZm9jdXNfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X2Vycm9yX2Nvb2xkb3duX2luX21zPTMwMDAwXHUwMDI2aHRtbDVfdnA5X25ld19taW1lPXRydWVcdTAwMjZodG1sNV9sb2dfZXhwZXJpbWVudF9pZF9mcm9tX3BsYXllcl9yZXNwb25zZV90b19jdG1wPVx1MDAyNmh0bWw1X2xpdmVfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvdz0wLjBcdTAwMjZodG1sNV9oZWFydGJlYXRfc2V0X2VuZGVkPXRydWVcdTAwMjZodG1sNV9hdjFfdGhyZXNoX2xjYz00ODBcdTAwMjZodG1sNV9ub19wbGFjZWhvbGRlcl9yb2xsYmFja3M9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2Vfb3ZlcmxheV9wYXJzaW5nPWZhbHNlXHUwMDI2aHRtbDVfcXVhbGl0eV9jYXBfbWluX2FnZV9zZWNzPTBcdTAwMjZodG1sNV9tZWRpYV9mdWxsc2NyZWVuPXRydWVcdTAwMjZzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlPXNlbGZfcG9kZGluZ19taWRyb2xsX2Nob2ljZVx1MDAyNnNlbGZfcG9kZGluZ19oaWdobGlnaHRfbm9uX2RlZmF1bHRfYnV0dG9uPXRydWVcdTAwMjZodG1sNV9yZXdyaXRlX21hbmlmZXN0bGVzc19mb3JfY29udGludWl0eT10cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9kZWZlcnJlZF9mdWxsX3NjcmVlbl9maWx0ZXJpbmdfZm9yX213ZWJfcGhvbmVzPXRydWVcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3c9MC4wXHUwMDI2aHRtbDVfZmx1ZGRfc3VzcGVuZD10cnVlXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfc2hhcmVfcGFuZWw9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2VfZmFpcnBsYXlfY29uZmlnX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmh0bWw1X21heGltdW1fcmVhZGFoZWFkX3NlY29uZHM9MC4wXHUwMDI2d2ViX21hY3JvX21hcmtlcnNfc25hcHBpbmdfdGhyZXNob2xkPTRcdTAwMjZrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmc9dHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ZpZGVvX2tleWZyYW1lX3dpdGhvdXRfYXVkaW89dHJ1ZVx1MDAyNmh0bWw1X2hmcl9xdWFsaXR5X2NhcD0wXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52X2tpbGxzd2l0Y2gyPXRydWVcdTAwMjZsaXZlX2ZyZXNjYV9zY2hlZHVsZWRfcGVyc2lzdGVudD10cnVlXHUwMDI2aHRtbDVfZXhwYW5kZWRfbWF4X3Zzc19waW5ncz10cnVlXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOT10cnVlXHUwMDI2aHRtbDVfanVtYm9fdWxsX25vbnN0cmVhbWluZ19tZmZhX21zPTQwMDBcdTAwMjZzdXBwcmVzc19zcGFya2xlc19mb3Jfd2hpdGVsaXN0ZWRfaW5zdHJlYW1fb25fZGVza3RvcD10cnVlXHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93PTAuMFx1MDAyNmh0bWw1X2RlYWR6b25lX211bHRpcGxpZXI9MS4wXHUwMDI2d2ViX3NjcmVlbl9hc3NvY2lhdGVkX2FsbF9sYXllcnM9dHJ1ZVx1MDAyNmtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlPXRydWVcdTAwMjZjdXN0b21fY3NpX3RpbWVsaW5lX3VzZV9nZWw9dHJ1ZVx1MDAyNmh0bWw1X3NvdXJjZV9idWZmZXJfYXR0YWNoX2RlbGF5X3RpbWU9MTUwMDBcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3I9MzYwXHUwMDI2aHRtbDVfc3RvcmVfeGhyX2hlYWRlcnNfcmVhZGFibGU9dHJ1ZVx1MDAyNnVucGx1Z2dlZF90dmh0bWw1X2JvdGd1YXJkX2F0dGVzdGF0aW9uPXRydWVcdTAwMjZwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZT10cnVlXHUwMDI2Zml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViPXRydWVcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aT10cnVlXHUwMDI2ZW5hYmxlX2FkX3BvZF9zcGVjaWZpY191aT10cnVlXHUwMDI2aHRtbDVfYnVmZmVyX2hlYWx0aF90b19kZWZlcl9zbGljZV9wcm9jZXNzaW5nPTAuMFx1MDAyNmh0bWw1X2lubGluZV92aWRlb19xdWFsaXR5X3N1cnZleT10cnVlXHUwMDI2aHRtbDVfcG9zdF9pbnRlcnJ1cHRfcmVhZGFoZWFkPTIwXHUwMDI2a2V2bGFyX2F1dG9uYXZfbWluaXBsYXllcl9maXg9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXA9MFx1MDAyNmh0bWw1X2F1dG9wbGF5X2RlZmF1bHRfcXVhbGl0eV9jYXA9MFx1MDAyNnNlbGZfcG9kZGluZ19oaWdobGlnaHRlZF9idXR0b25fYmx1ZT10cnVlXHUwMDI2ZW5hYmxlX2tldmxhcl9hY3Rpb25fY29tcGFuaW9uX2NsZWFudXA9dHJ1ZVx1MDAyNndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZT1cdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fbG9hZF9zcGVlZD0xLjVcdTAwMjZlbmFibGVfdG9wc29pbF93dGFfZm9yX2hhbGZ0aW1lPXRydWVcdTAwMjZodG1sNV9saWNlbnNlX3NlcnZlcl9lcnJvcl9yZXRyeV9saW1pdD0zXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2Npbmc9dHJ1ZVx1MDAyNmh0bWw1X3VucmV3cml0ZV90aW1lc3RhbXBzPXRydWVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fYnVmZmVyX2hlYWx0aF9zZWNzX29uX3RpbWVvdXQ9MC4xXHUwMDI2aHRtbDVfaW9zX2ZvcmNlX3NlZWtfdG9femVyb19vbl9zdG9wPXRydWVcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50PS0xXHUwMDI2aHRtbDVfZ2FwbGVzc19wcmVsb2FkaW5nPXRydWVcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjcz02MFx1MDAyNmh0bWw1X2luX2J1ZmZlcl9wdGxfdGltZW91dF9tcz0wXHUwMDI2aHRtbDVfaW9zNF9zZWVrX2Fib3ZlX3plcm89dHJ1ZVx1MDAyNmVuYWJsZV92ZV90cmFja2VyX2tleT10cnVlXHUwMDI2aHRtbDVfanVtYm9fbW9iaWxlX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldD0zLjBcdTAwMjZodG1sNV9obHNfbWluX3ZpZGVvX2hlaWdodD0wXHUwMDI2d2ViX2dlbF90aW1lb3V0X2NhcD10cnVlXHUwMDI2dXNlX3BsYXllcl9wYXJhbXNfZm9yX3Bhc3NpbmdfZGVza3RvcF9jb252ZXJzaW9uX3VybHM9dHJ1ZVx1MDAyNndlYl9sb2dfYXBwX2luc3RhbGxfZXhwZXJpbWVudHM9dHJ1ZVx1MDAyNmh0bWw1X3NlZWtfb3Zlcl9kaXNjb250aW51aXRpZXM9dHJ1ZVx1MDAyNmh0bWw1X3JlYWRhaGVhZF9yYXRlbGltaXQ9MzAwMFx1MDAyNmJvdGd1YXJkX2FzeW5jX3NuYXBzaG90X3RpbWVvdXRfbXM9MzAwMFx1MDAyNmVuc3VyZV9vbmx5X29uZV9yZXNvbHZlZF9taWRyb2xsX3Jlc3BvbnNlX29uX3dlYj10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbD0wLjVcdTAwMjZ3ZWJfbmV0d29ya19jb21iaW5lZF9jYXRjaD10cnVlXHUwMDI2ZW5hYmxlX2Nvb2tpZV9yZWlzc3VlX2lmcmFtZT10cnVlXHUwMDI2aHRtbDVfYmFja2dyb3VuZF9xdWFsaXR5X2NhcD0zNjBcdTAwMjZodG1sNV9zdG9wX3ZpZGVvX2luX2NhbmNlbF9wbGF5YmFjaz10cnVlXHUwMDI2bXdlYl9tdXRlZF9hdXRvcGxheV9hbmltYXRpb249c2hyaW5rXHUwMDI2aHRtbDVfbGl2ZV9hYnJfcmVwcmVkaWN0X2ZyYWN0aW9uPTAuMFx1MDAyNndlYl9wbGF5ZXJfdnNzX3BhZ2VpZF9oZWFkZXI9dHJ1ZVx1MDAyNmZhc3RfYXV0b25hdl9pbl9iYWNrZ3JvdW5kPXRydWVcdTAwMjZodG1sNV9jcnlwdG9fcGVyaW9kX3NlY3NfZnJvbV9lbXNnPXRydWVcdTAwMjZodG1sNV9wcm9iZV9zZWNvbmRhcnlfZHVyaW5nX3RpbWVvdXRfbWlzc19jb3VudD0yXHUwMDI2Ym90Z3VhcmRfZXZhbF93aXRoX3NjcmlwdF90YWc9dHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9wZXJfZm9ybWF0X2xvdWRuZXNzPXRydWVcdTAwMjZzdXBwcmVzc19nZW5fMjA0PXRydWVcdTAwMjZkaXNhYmxlX3NpbXBsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3M9dHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW09dHJ1ZVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmU9dHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfZXh0cmFfdXBkYXRlX3Jlc291cmNlPXRydWVcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eT10cnVlXHUwMDI2d2ViX3BsYXllcl9zc19tZWRpYV90aW1lX29mZnNldD10cnVlXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfc3Vic2NyaXB0aW9uX3VwZGF0ZT10cnVlXHUwMDI2aHRtbDVfaGRjcF9wcm9iaW5nX3N0cmVhbV91cmw9XHUwMDI2bG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uPTAuMVx1MDAyNmh0bWw1X2Rpc2FibGVfcmVzZXRfb25fYXBwZW5kX2Vycm9yPXRydWVcdTAwMjZodG1sNV9lbmFibGVfZWFjMz10cnVlXHUwMDI2aHRtbDVfcGxheWVyX21pbl9idWlsZF9jbD0tMVx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3A9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbm9fZW5kc2NyZWVuX2Nyb3A9dHJ1ZVx1MDAyNmhmcl9kcm9wcGVkX2ZyYW1lcmF0ZV9mYWxsYmFja190aHJlc2hvbGQ9MFx1MDAyNmh0bWw1X2RlY29kZXJfZnJlZXplX3RpbWVvdXRfZGVsYXlfbXM9MFx1MDAyNm5ldHdvcmtsZXNzX3Rocm90dGxlX3RpbWVvdXQ9MTAwXHUwMDI2d2ViX3BsYXllcl93YXRjaF9uZXh0X3Jlc3BvbnNlX3BhcnNpbmc9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfYXBpX2xvZ2dpbmdfZnJhY3Rpb249MC4wMVx1MDAyNmVtYmVkc19lbmFibGVfZW1iZWRfbW9kdWxlPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2ljb25zPXRydWVcdTAwMjZhbGlnbl9hZF90b192aWRlb19wbGF5ZXJfbGlmZWN5Y2xlX2Zvcl9idWxsZWl0PXRydWVcdTAwMjZidWxsZWl0X2dldF9taWRyb2xsX2luZm9fdGltZW91dF9tcz04MDAwXHUwMDI2cGxheWVyX2RvdWJsZXRhcF90b19zZWVrPXRydWVcdTAwMjZodG1sNV9zdGlja3lfcmVkdWNlc19kaXNjb3VudF9ieT0wLjBcdTAwMjZodG1sNV9pb3M3X2ZvcmNlX3BsYXlfb25fc3RhbGw9dHJ1ZVx1MDAyNmh0bWw1X2FzcGVjdF9mcm9tX2FkYXB0aXZlX2Zvcm1hdD10cnVlXHUwMDI2d2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zPTI4MDAwXHUwMDI2aHRtbDVfZW5hYmxlX2FjMz10cnVlXHUwMDI2a2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucz10cnVlXHUwMDI2ZGVsYXlfZ2VsX3VudGlsX2NvbmZpZ19yZWFkeT10cnVlXHUwMDI2aHRtbDVfcGxheWVyX2R5bmFtaWNfYm90dG9tX2dyYWRpZW50PXRydWVcdTAwMjZodG1sNV9sb2dfbGl2ZV9kaXNjb250aW51aXR5PXRydWVcdTAwMjZndmlfY2hhbm5lbF9jbGllbnRfc2NyZWVuPXRydWVcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfbWVkaWFfc291cmNlX2R1cmF0aW9uPTI1MjAwXHUwMDI2aHRtbDVfaGxzX2luaXRpYWxfYml0cmF0ZT0wXHUwMDI2aHRtbDVfc291cmNlX2J1ZmZlcl9hdHRhY2hfcmV0cnlfbGltaXQ9MFx1MDAyNmh0bWw1X2lnbm9yZV9zdGFydF9zZWNvbmRzX2Zvcl9hZHNfa2lsbHN3aXRjaD10cnVlXHUwMDI2cmVsZWFzZV9wbGF5ZXJfb25fYWJhbmRvbl9mb3JfYnVsbGVpdF9scl9hZHNfZnJvbnRlbmQ9dHJ1ZVx1MDAyNmhvZmZsZV9tYXhfdmlkZW9fZHVyYXRpb25fc2Vjcz0wXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zPTIwMDAwXHUwMDI2aHRtbDVfYXYxX3RocmVzaF9hcm09MjQwXHUwMDI2d2ViX3BsYXllcl9pbmxpbmVfYm90Z3VhcmQ9dHJ1ZVx1MDAyNmh0bWw1X21heF9yZWFkYmVoaW5kX3NlY3M9MFx1MDAyNnVzZV90eXBlc2NyaXB0X3RyYW5zcG9ydD10cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX3BhdXNlPWZhbHNlXHUwMDI2aHRtbDVfZGlzYWJsZV9zdWJzY3JpYmVfbmV3X3Zpcz10cnVlXHUwMDI2ZW5hYmxlX2V2aWN0aW9uX3Byb3RlY3Rpb25fZm9yX2J1bGxlaXQ9dHJ1ZVx1MDAyNmh0bWw1X3ByZWZlcl9zZXJ2ZXJfYndlMz10cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hlYWRlcl9zdHJpbmdfdGVtcGxhdGU9c2VsZl9wb2RkaW5nX2ludGVyc3RpdGlhbF9tZXNzYWdlXHUwMDI2aHRtbDVfc3RhdGljX2Ficl9yZXNvbHV0aW9uX3NoZWxmPTBcdTAwMjZkaXNhYmxlX25ld19wYXVzZV9zdGF0ZTM9dHJ1ZVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVfdWZwaD10cnVlXHUwMDI2ZGFzaF9tYW5pZmVzdF92ZXJzaW9uPTVcdTAwMjZodG1sNV9kaXNhYmxlX21vdmVfcHNzaF90b19tb292PXRydWVcdTAwMjZodG1sNV9yYW5kb21fcGxheWJhY2tfY2FwPTBcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3M9MFx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc19tYXhfc2VnbWVudF9oaXN0b3J5PTBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfcGFkZGluZ19zZWNzPTMuMFx1MDAyNnBsYXllcl9kZXN0cm95X29sZF92ZXJzaW9uPXRydWVcdTAwMjZwbGF5ZXJfYWxsb3dfYXV0b25hdl9hZnRlcl9wbGF5bGlzdD10cnVlXHUwMDI2aHRtbDVfbmV3X2VsZW1lbnRfb25faW52YWxpZF9zdGF0ZT10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfc2Vla19sYXRlbmN5X2Z1ZGdlPTAuNVx1MDAyNmh0bWw1X2Rpc2FibGVfYWFjX2FjMz10cnVlXHUwMDI2aHRtbDVfYWxsb3dhYmxlX2xpdmVuZXNzX2RyaWZ0X2NodW5rcz0yXHUwMDI2aHRtbDVfbmV3X2VsZW1fb25faGlkZGVuPXRydWVcdTAwMjZwbGF5ZXJfd2ViX2NhbmFyeV9zdGFnZT0wXHUwMDI2bmV0d29ya2xlc3NfeXRpZGJfdmVyc2lvbj0xXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXI9dHJ1ZVx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHM9NVx1MDAyNmVuYWJsZV9zdmdfbW9kZV9vbl9lbWJlZF9tb2JpbGU9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvbj0wLjBcdTAwMjZ3ZWJfbG9nX2Nvbm5lY3Rpb249dHJ1ZVx1MDAyNmRlbGF5X2Fkc19ndmlfY2FsbF9vbl9idWxsZWl0X2xpdmluZ19yb29tX21zPTBcdTAwMjZ3ZWJfY2xpZW50X2NvdW50ZXJfcmFuZG9tX3NlZWQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfd2F0Y2hfbmV4dF9yZXNwb25zZT10cnVlXHUwMDI2aHRtbDVfbG9nX3BsYXliYWNrX3JhdGVfY2hhbmdlX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmh0bWw1X2hhY2tfZ2FwbGVzc19pbml0PXRydWVcdTAwMjZ1c2VfdmlkZW9fYWRfYnJlYWtfb2Zmc2V0X21zX2ludDY0PXRydWVcdTAwMjZlbmFibGVfZGV2aWNlX2ZvcndhcmRpbmdfZnJvbV9wb2x5bWVyX25ldHdvcmtfbWFuYWdlcj10cnVlXHUwMDI2aHRtbDVfcHJvYmVfbGl2ZV91c2luZ19yYW5nZT10cnVlXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGY9dHJ1ZVx1MDAyNnVzZV9pdmFyX3RvX2V4dHJhY3RfYWRfdmlkZW9faWQ9dHJ1ZVx1MDAyNnVzZV90b3VjaF9ldmVudHNfZm9yX2J1bGxlaXRfbXdlYj10cnVlXHUwMDI2aHRtbDVfbWF4X2xpdmVfZHZyX3dpbmRvd19wbHVzX21hcmdpbl9zZWNzPTQ2ODAwLjBcdTAwMjZ3ZWJfeXRfY29uZmlnX2NvbnRleHQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2hvd19tdXNpY19pbl90aGlzX3ZpZGVvX2dyYXBoaWM9dmlkZW9fdGh1bWJuYWlsXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjcz0wLjVcdTAwMjZkZWJ1Z19kYXBwZXJfdHJhY2VfaWQ9XHUwMDI2c3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmc9dHJ1ZVx1MDAyNmh0bWw1X2F2MV90aHJlc2g9MTA4MFx1MDAyNmtldmxhcl9xdWV1ZV91c2VfdXBkYXRlX2FwaT10cnVlXHUwMDI2b3ZlcndyaXRlX3BvbHlmaWxsX29uX2xvZ2dpbmdfbGliX2xvYWRlZD10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19ub19yZXF1ZXN0c19hZnRlcl9sb2NrPXRydWVcdTAwMjZpZ25vcmVfZW1wdHlfeGhyPXRydWVcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50X2FmdGVyX2F1dG9wbGF5ZWRfdmlkZW89LTFcdTAwMjZuZXR3b3JrbGVzc19yZXF1ZXN0X2FnZV9saW1pdD0zMFx1MDAyNmh0bWw1X3Byb2JlX3ByaW1hcnlfZGVsYXlfYmFzZV9tcz0wXHUwMDI2cGxheWVyX2Jvb3RzdHJhcF9tZXRob2Q9dHJ1ZVx1MDAyNmRlc2t0b3BfcGxheWVyX2J1dHRvbl90b29sdGlwX3dpdGhfc2hvcnRjdXQ9dHJ1ZVx1MDAyNmtldmxhcl9hbGxvd19tdWx0aXN0ZXBfdmlkZW9faW5pdD10cnVlXHUwMDI2cGFpcl9zZXJ2bGV0X2RlcHJlY2F0aW9uX3dhcm5pbmdfZW5hYmxlZD10cnVlXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52PXRydWVcdTAwMjZtd2ViX2VuYWJsZV9jdXN0b21fY29udHJvbF9zaGFyZWQ9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXM9MjAwXHUwMDI2aHRtbDVfZW5hYmxlX2VtYmVkZGVkX3BsYXllcl92aXNpYmlsaXR5X3NpZ25hbHM9dHJ1ZVx1MDAyNmh0bWw1X2RlZmF1bHRfcXVhbGl0eV9jYXA9NzIwXHUwMDI2c2V0X2ludGVyc3RpdGlhbF9hZHZlcnRpc2Vyc19xdWVzdGlvbl90ZXh0PXRydWVcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX3RocmVzaG9sZF9tcz0zMDAwMFx1MDAyNnd3d19mb3JfdmlkZW9zdGF0cz10cnVlXHUwMDI2aHRtbDVfcGVha19zaGF2ZT10cnVlXHUwMDI2ZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncz10cnVlXHUwMDI2YnVsbGVpdF91c2VfdG91Y2hfZXZlbnRzX2Zvcl9za2lwPXRydWVcdTAwMjZodG1sNV9kZWxheV9pbml0aWFsX2xvYWRpbmc9dHJ1ZVx1MDAyNndlYl9hcGlfdXJsPXRydWVcdTAwMjZtd2ViX2NvdWdhcl9iaWdfY29udHJvbHM9dHJ1ZVx1MDAyNmNzaV9vbl9nZWw9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaXBwX2NhbmFyeV90eXBlX2Zvcl9sb2dnaW5nPVx1MDAyNmh0bWw1X2RlY29kZV90b190ZXh0dXJlX2NhcD10cnVlXHUwMDI2dHZodG1sNV9kaXNhYmxlX2xpdmVfcHJlZmV0Y2g9dHJ1ZVx1MDAyNnVzZV9pbmxpbmVkX3BsYXllcl9ycGM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdG91Y2hfbW9kZV9pbXByb3ZlbWVudHM9dHJ1ZVx1MDAyNmRpc2FibGVfdGh1bWJuYWlsX3ByZWxvYWRpbmc9dHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX3NraXBwYWJsZXNfb25famlvX3Bob25lPXRydWVcdTAwMjZodG1sNV9ub3RfdnA5X3N1cHBvcnRlZF9xdWFsaXR5X2NhcD0wXHUwMDI2aHRtbDVfdW5pZnlfc3FsZXNzX2Zsb3c9dHJ1ZVx1MDAyNmh0bWw1X2F1dG9uYXZfcXVhbGl0eV9jYXA9MFx1MDAyNnNraXBfYWRfYnV0dG9uX3dpdGhfdGh1bWJuYWlsPXRydWVcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9zZWNzPTBcdTAwMjZodG1sNV91bnJlcG9ydGVkX3NlZWtfcmVzZWVrX2RlbGF5X21zPTBcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX2ppZ2dsZV9jbXRfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X2hlYWx0aF90b19nZWw9dHJ1ZVx1MDAyNmh0bWw1X3Jlc3RvcmVfcGVyZl9jYXA9ZmFsc2VcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZD0zXHUwMDI2aHRtbDVfdmlkZW9fdGJkX21pbl9rYj0wXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW9zX213ZWJfcmVzaXppbmc9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbXVzaWNfdmlzdWFsaXplcl90cmVhdG1lbnQ9ZmFrZVx1MDAyNmxpdmVfZnJlc2NhX3YyPXRydWVcdTAwMjZodG1sNV9iYWNrZ3JvdW5kX2NhcF9pZGxlX3NlY3M9NjBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemluZ19tdWx0aXBsaWVyPTAuOFx1MDAyNndlYl9vcF9jb250aW51YXRpb25fdHlwZV9iYW5saXN0PSgpXHUwMDI2dXNlX3N1cnZleV9za2lwX2luXzBzPXRydWVcdTAwMjZodG1sNV91c2VfY3VycmVudF9tZWRpYV90aW1lX2Zvcl9nbHJlbV9nbGxhdD10cnVlXHUwMDI2aHRtbDVfbWluX3VwZ3JhZGVfaGVhbHRoPTBcdTAwMjZhbGxvd19wb2x0ZXJndXN0X2F1dG9wbGF5PXRydWVcdTAwMjZodG1sNV9xdWVyeV9zd19zZWN1cmVfY3J5cHRvX2Zvcl9hbmRyb2lkPXRydWVcdTAwMjZuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWw9MzAwMDBcdTAwMjZsb2dfanNfZXhjZXB0aW9uc19mcmFjdGlvbj0xLjBcdTAwMjZlbmFibGVfbGl2ZV9wcmVtaWVyZV93ZWJfcGxheWVyX2luZGljYXRvcj10cnVlXHUwMDI2d2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3Q9KClcdTAwMjZodG1sNV9hdjFfdHZfa2lsbHN3aXRjaD10cnVlXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaD0wLjJcdTAwMjZodG1sNV9kZWZhdWx0X2FkX2dhaW49MC41XHUwMDI2bmV0d29ya2xlc3NfcmV0cnlfYXR0ZW1wdHM9MVx1MDAyNm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZD10cnVlXHUwMDI2aGlkZV9wcmVza2lwPXRydWVcdTAwMjZ0dmh0bWw1X3VucGx1Z2dlZF9wcmVsb2FkX2NhY2hlX3NpemU9NVx1MDAyNmh0bWw1X3BsYXRmb3JtX21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHM9MC4wXHUwMDI2aHRtbDVfZ2FwbGVzc19tYXhfcGxheWVkX3Jhbmdlcz0xMlx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3M9MC4yNVx1MDAyNmh0bWw1X3dvcmthcm91bmRfZGVsYXlfdHJpZ2dlcj10cnVlXHUwMDI2ZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWU9dHJ1ZVx1MDAyNmh0bWw1X2F2MV90aHJlc2hfaGNjPTEwODBcdTAwMjZodG1sNV9xb2VfdXNlcl9pbnRlbnRfbWF0Y2hfaGVhbHRoPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9wbGF5bGlzdF91cGRhdGU9dHJ1ZVx1MDAyNndlYl93bl9tYWNyb19tYXJrZXJzPXRydWVcdTAwMjZtdXNpY19lbmFibGVfc2hhcmVkX2F1ZGlvX3RpZXJfbG9naWM9dHJ1ZVx1MDAyNnNob3VsZF9jbGVhcl92aWRlb19kYXRhX29uX3BsYXllcl9jdWVkX3Vuc3RhcnRlZD10cnVlXHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uPXRydWVcdTAwMjZodG1sNV9zZXRfZW5kZWRfaW5fcGZ4X2xpdmU9dHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfbm9uX2NvbnRpZ3VvdXM9dHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9hdXRvbmF2X2xvZ2dpbmc9dHJ1ZVx1MDAyNmh0bWw1X3FvZV9pbnRlcmNlcHQ9XHUwMDI2a2FidWtpX3BhbmdlYV9wcmVmZXJfYXVkaW9fb25seV9mb3JfYXR2X2FuZF91cGxvYWRzPXRydWVcdTAwMjZlcnJvcl9tZXNzYWdlX2Zvcl9nc3VpdGVfbmV0d29ya19yZXN0cmljdGlvbnM9dHJ1ZVx1MDAyNmRlc2t0b3BfYWN0aW9uX2NvbXBhbmlvbl93dGFfc3VwcG9ydD10cnVlXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52X2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNndlYl9vcF9lbmRwb2ludF9iYW5saXN0PSgpXHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHM9dHJ1ZVx1MDAyNnBvbHltZXJfYmFkX2J1aWxkX2xhYmVscz10cnVlXHUwMDI2aHRtbDVfanVtYm9fdWxsX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldD0xLjNcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3k9dHJ1ZVx1MDAyNmhvZmZsZV9jYWNoZV9zaXplX3NlY3M9MFx1MDAyNnJlbmRlcl9lbmhhbmNlZF9vdmVybGF5c19hc19jdGFzX2Zvcl9kZXNrdG9wX3N0eWxlPXVuc2V0XHUwMDI2aHRtbDVfbWF4X3JlYWRhaGVhZF9iYW5kd2lkdGhfY2FwPTBcdTAwMjZ3ZWJfZGVwcmVjYXRlX3NlcnZpY2VfYWpheF9tYXBfZGVwZW5kZW5jeT10cnVlXHUwMDI2ZW5hYmxlX2RybV9zc2RhaT10cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoPXRydWVcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBpcmF0aW9uPS0xXHUwMDI2aHRtbDVfdGltZV9iYXNlZF9jb25zb2xpZGF0aW9uX21zPTEwXHUwMDI2cGxheWVyX2Fkc19zZXRfYWRmb3JtYXRfb25fY2xpZW50PXRydWVcdTAwMjZleHRlcm5hbF9mdWxsc2NyZWVuX3dpdGhfZWR1PXRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5PXRydWVcdTAwMjZodG1sNV9nYXBsZXNzX3NlZWtfdG9sZXJhbmNlX3NlY3M9My4wXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kcz0wLjBcdTAwMjZodG1sNV9kZXNrdG9wX3ZyMTgwX2FsbG93X3Bhbm5pbmc9dHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9iYWRfYml0cmF0ZXM9dHJ1ZVx1MDAyNnNldF9pbnRlcnN0aXRpYWxfc3RhcnRfYnV0dG9uPXRydWVcdTAwMjZodG1sNV9zdXNwZW5kX2xvYWRlcj10cnVlXHUwMDI2aHRtbDVfYWRfdGltZW91dF9tcz0wXHUwMDI2ZW5hYmxlX2NsaWVudF9wYWdlX2lkX2hlYWRlcl9mb3JfZmlyc3RfcGFydHlfcGluZ3M9dHJ1ZVx1MDAyNnByZXNraXBfYnV0dG9uX3N0eWxlX2Fkc19iYWNrZW5kPWNvdW50ZG93bl9uZXh0X3RvX3RodW1ibmFpbFx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjcz0yLjBcdTAwMjZodG1sNV9nbF9mcHNfdGhyZXNob2xkPTBcdTAwMjZodG1sNV9tYXhfaGVhZG1fZm9yX3N0cmVhbWluZ194aHI9MFx1MDAyNmh0bWw1X2xpY2Vuc2VfY29uc3RyYWludF9kZWxheT01MDAwXHUwMDI2aHRtbDVfY2hlY2tfc2VnbnVtX2Rpc2NvbnRpbnVpdHk9dHJ1ZVx1MDAyNmh0bWw1X2JhbmR3aWR0aF93aW5kb3dfc2l6ZT0wXHUwMDI2ZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21feGhyX2NsaWVudD10cnVlXHUwMDI2bWF4X3Jlc29sdXRpb25fZm9yX3doaXRlX25vaXNlPTM2MFx1MDAyNndlYl9wbGF5ZXJfc2VudGluZWxfaXNfdW5pcGxheWVyPXRydWVcdTAwMjZ3ZWJfcG9zdF9zZWFyY2g9dHJ1ZVx1MDAyNmh0bWw1X2V4cGVyaW1lbnRfaWRfbGFiZWw9MFx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWU9XHUwMDI2aHRtbDVfZGlzYWJsZV9wcmVzZXJ2ZV9yZWZlcmVuY2U9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfYWRfYnl0ZXJhdGVfbXVsdGlwbGllcj0xLjZcdTAwMjZodG1sNV9yZWxlYXNlX29uX2Vycm9yPXRydWVcdTAwMjZlbmFibGVfeXBjX2NsaWNrd3JhcF9vbl9saXZpbmdfcm9vbT10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19lcnJvcl9jaGVja19raWxsc3dpdGNoPXRydWVcdTAwMjZodG1sNV9tYXhfZHJpZnRfcGVyX3RyYWNrX3NlY3M9MC4wXHUwMDI2YXV0b3BsYXlfdGltZT04MDAwXHUwMDI2bG9nX2pzX2Vycm9yX2NsdXN0ZXJzPTEuMFx1MDAyNndlYl9nZWxfZGVib3VuY2VfbXM9MTAwMDBcdTAwMjZodG1sNV9zeW5jX3NlZWtpbmdfc3RhdGU9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2VfcGxheWJhY2tfdHJhY2tpbmdfcGFyc2luZz10cnVlXHUwMDI2d2ViX2xvZ2dpbmdfbWF4X2JhdGNoPTE1MFx1MDAyNmh0bWw1X2Fkc19wcmVyb2xsX2xvY2tfdGltZW91dF9kZWxheV9tcz0wXHUwMDI2aHRtbDVfc2Vla19qaWdnbGVfY210X2RlbGF5X21zPTgwMDAiO315dGNmZy5zZXQoeydXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyc6IGNvbmZpZ3N9KTt9KSgpOzwvc2NyaXB0PgoKICA8c2NyaXB0ID4KICAgIChmdW5jdGlvbigpIHsKICAgICAgdmFyIHNldEZpbGxlciA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBmaWxsZXJEYXRhID0gewogICAgICAgICAgYnJvd3NlOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ2Jyb3dzZScKICAgICAgICAgIH0sCiAgICAgICAgICBob21lOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ2hvbWUnLAogICAgICAgICAgICBlbmRwb2ludDogewogICAgICAgICAgICAgIGNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgd2ViQ29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICAgIHVybDogIi8iLAogICAgICAgICAgICAgICAgICB3ZWJQYWdlVHlwZTogIldFQl9QQUdFX1RZUEVfQlJPV1NFIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgdXJsRW5kcG9pbnQ6IHsKICAgICAgICAgICAgICAgIHVybDogIi8iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5Ccm93c2VSZXN1bHRzUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgdGFiczogW3sKICAgICAgICAgICAgICAgICAgICB0YWJSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJpY2hHcmlkUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWF0aW9uczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRDb250aW51YXRpb25EYXRhOiB7Y29udGludWF0aW9uOiAnJ30KICAgICAgICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHNlYXJjaDogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICdzZWFyY2gnLAogICAgICAgICAgICBlbmRwb2ludDogewogICAgICAgICAgICAgIGNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgd2ViQ29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICAgIHVybDogIi9yZXN1bHRzIiwKICAgICAgICAgICAgICAgICAgd2ViUGFnZVR5cGU6ICJXRUJfUEFHRV9UWVBFX1NFQVJDSCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHVybEVuZHBvaW50OiB7CiAgICAgICAgICAgICAgICB1cmw6ICIvcmVzdWx0cyIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJlc3BvbnNlOiB7CiAgICAgICAgICAgICAgY29udGVudHM6IHsKICAgICAgICAgICAgICAgIHR3b0NvbHVtblNlYXJjaFJlc3VsdHNSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICBwcmltYXJ5Q29udGVudHM6IHsKICAgICAgICAgICAgICAgICAgICBzZWN0aW9uTGlzdFJlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10sCiAgICAgICAgICAgICAgICAgICAgICBzdWJNZW51OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFN1Yk1lbnVSZW5kZXJlcjoge30KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5U2VhcmNoQ29udGFpbmVyUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzOiBbXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHdhdGNoOiB7CiAgICAgICAgICAgIGZpbGxlcjogdHJ1ZSwKICAgICAgICAgICAgcGFnZTogJ3dhdGNoJywKICAgICAgICAgICAgZW5kcG9pbnQ6IHsKICAgICAgICAgICAgICBjb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgIHdlYkNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgICB1cmw6ICIvd2F0Y2giLAogICAgICAgICAgICAgICAgICB3ZWJQYWdlVHlwZTogIldFQl9QQUdFX1RZUEVfV0FUQ0giCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB1cmxFbmRwb2ludDogewogICAgICAgICAgICAgICAgdXJsOiAiL3dhdGNoIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcGxheWVyUmVzcG9uc2U6IHsKICAgICAgICAgICAgICBwbGF5YWJpbGl0eVN0YXR1czogewogICAgICAgICAgICAgICAgc3RhdHVzOiAnT0snCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgIHJlc3VsdHM6IHsKICAgICAgICAgICAgICAgICAgICByZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW3sKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyOiB7fSwKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9TZWNvbmRhcnlJbmZvUmVuZGVyZXI6IHt9CiAgICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5UmVzdWx0czogewogICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeVJlc3VsdHM6IHt9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB3aW5kb3cueXRjZmcuc2V0KCdGSUxMRVJfREFUQScsIGZpbGxlckRhdGEpOwogICAgICB9OwoKICAgICAgICB3aW5kb3cuZ2V0UGFnZURhdGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicHIiLCBudWxsLCAnJyk7fQogICAgICAgICAgdmFyIGVuZHBvaW50ID0gbnVsbDsKICAgICAgICAgICAgZW5kcG9pbnQgPSB7ImNvbW1hbmRNZXRhZGF0YSI6eyJ3ZWJDb21tYW5kTWV0YWRhdGEiOnsidXJsIjoiL3dhdGNoP3Y9U1VrWHZXbjFtN1EiLCJ3ZWJQYWdlVHlwZSI6IldFQl9QQUdFX1RZUEVfVU5LTk9XTiIsInJvb3RWZSI6ODM3Njl9fSwidXJsRW5kcG9pbnQiOnsidXJsIjoiL3dhdGNoP3Y9U1VrWHZXbjFtN1EifX07CiAgICAgICAgICB2YXIgZGF0YSA9IHsKICAgICAgICAgICAgICBwYWdlOiAid2F0Y2giLAogICAgICAgICAgICAgIHBsYXllcjogeXRwbGF5ZXIuY29uZmlnLAogICAgICAgICAgICAgIHBsYXllclJlc3BvbnNlOiB3aW5kb3cueXRJbml0aWFsUGxheWVyUmVzcG9uc2UsCiAgICAgICAgICAgICAgICB1cmw6ICJcL3dhdGNoP3Y9U1VrWHZXbjFtN1EiLAogICAgICAgICAgICAgIHJlc3BvbnNlOiB3aW5kb3cueXRJbml0aWFsRGF0YSwKICAgICAgICAgICAgICBlbmRwb2ludDogZW5kcG9pbnQKICAgICAgICAgIH07CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBkYXRhOiBkYXRhLAogICAgICAgICAgICBlbmRwb2ludDogZW5kcG9pbnQKICAgICAgICAgIH07CiAgICAgICAgfTsKCiAgICAgICAgaWYgKHdpbmRvdy5sb2FkRGF0YUhvb2spIHsKICAgICAgICAgIHZhciBwYWdlRGF0YSA9IHdpbmRvdy5nZXRQYWdlRGF0YSgpOwogICAgICAgICAgd2luZG93LmxvYWREYXRhSG9vayhwYWdlRGF0YS5lbmRwb2ludCwgcGFnZURhdGEuZGF0YSk7CiAgICAgICAgICB3aW5kb3cubG9hZERhdGFIb29rID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgc2V0RmlsbGVyKCk7CgogICAgfSkoKTsKCiAgICAgIHZhciBtZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpOwogICAgICBtZXRhLm5hbWUgPSAncmVmZXJyZXInOwogICAgICBtZXRhLmNvbnRlbnQgPSAnb3JpZ2luJzsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChtZXRhKTsKICAgICAgdmFyIG5vaW5kZXhNZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpOwogICAgICBtZXRhLm5hbWUgPSAncm9ib3RzJzsKICAgICAgbWV0YS5jb250ZW50ID0gJ25vaW5kZXgnOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKG1ldGEpOwoKICA8L3NjcmlwdD4KICAKPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS5pbmZvKCJzdCIsIDEzOSwgJycpO308L3NjcmlwdD48L2JvZHk+PC9odG1sPg==
|
57
|
+
http_version:
|
58
|
+
recorded_at: Tue, 27 Oct 2020 18:33:33 GMT
|
59
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,114 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=youtube_api_key_123&part=snippet,statistics,status,contentDetails
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- VideoInfo/2.8.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json; charset=UTF-8
|
23
|
+
Vary:
|
24
|
+
- Origin
|
25
|
+
- Referer
|
26
|
+
- X-Origin
|
27
|
+
Date:
|
28
|
+
- Tue, 27 Oct 2020 18:33:51 GMT
|
29
|
+
Server:
|
30
|
+
- scaffolding on HTTPServer2
|
31
|
+
Cache-Control:
|
32
|
+
- private
|
33
|
+
X-Xss-Protection:
|
34
|
+
- '0'
|
35
|
+
X-Frame-Options:
|
36
|
+
- SAMEORIGIN
|
37
|
+
X-Content-Type-Options:
|
38
|
+
- nosniff
|
39
|
+
Alt-Svc:
|
40
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
41
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
42
|
+
ma=2592000; v="46,43"
|
43
|
+
Transfer-Encoding:
|
44
|
+
- chunked
|
45
|
+
body:
|
46
|
+
encoding: ASCII-8BIT
|
47
|
+
string: |
|
48
|
+
{
|
49
|
+
"items": []
|
50
|
+
}
|
51
|
+
http_version:
|
52
|
+
recorded_at: Tue, 27 Oct 2020 18:33:51 GMT
|
53
|
+
- request:
|
54
|
+
method: get
|
55
|
+
uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=%3Cyoutube_api_key_123%3E&part=snippet,statistics,status,contentDetails
|
56
|
+
body:
|
57
|
+
encoding: US-ASCII
|
58
|
+
string: ''
|
59
|
+
headers:
|
60
|
+
User-Agent:
|
61
|
+
- VideoInfo/2.8.0
|
62
|
+
Accept-Encoding:
|
63
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
64
|
+
Accept:
|
65
|
+
- "*/*"
|
66
|
+
response:
|
67
|
+
status:
|
68
|
+
code: 400
|
69
|
+
message: Bad Request
|
70
|
+
headers:
|
71
|
+
Vary:
|
72
|
+
- Origin
|
73
|
+
- Referer
|
74
|
+
- X-Origin
|
75
|
+
Content-Type:
|
76
|
+
- application/json; charset=UTF-8
|
77
|
+
Date:
|
78
|
+
- Tue, 27 Oct 2020 18:44:57 GMT
|
79
|
+
Server:
|
80
|
+
- scaffolding on HTTPServer2
|
81
|
+
Cache-Control:
|
82
|
+
- private
|
83
|
+
X-Xss-Protection:
|
84
|
+
- '0'
|
85
|
+
X-Frame-Options:
|
86
|
+
- SAMEORIGIN
|
87
|
+
X-Content-Type-Options:
|
88
|
+
- nosniff
|
89
|
+
Alt-Svc:
|
90
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
91
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
92
|
+
ma=2592000; v="46,43"
|
93
|
+
Transfer-Encoding:
|
94
|
+
- chunked
|
95
|
+
body:
|
96
|
+
encoding: ASCII-8BIT
|
97
|
+
string: |
|
98
|
+
{
|
99
|
+
"error": {
|
100
|
+
"code": 400,
|
101
|
+
"message": "API key not valid. Please pass a valid API key.",
|
102
|
+
"errors": [
|
103
|
+
{
|
104
|
+
"message": "API key not valid. Please pass a valid API key.",
|
105
|
+
"domain": "global",
|
106
|
+
"reason": "badRequest"
|
107
|
+
}
|
108
|
+
],
|
109
|
+
"status": "INVALID_ARGUMENT"
|
110
|
+
}
|
111
|
+
}
|
112
|
+
http_version:
|
113
|
+
recorded_at: Tue, 27 Oct 2020 18:44:57 GMT
|
114
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,59 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.youtube.com/watch?v=SUkXvWn1m7Q
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- text/html; charset=utf-8
|
23
|
+
Expires:
|
24
|
+
- Tue, 27 Apr 1971 19:44:06 GMT
|
25
|
+
Cache-Control:
|
26
|
+
- no-cache
|
27
|
+
X-Content-Type-Options:
|
28
|
+
- nosniff
|
29
|
+
P3p:
|
30
|
+
- CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=pt-BR
|
31
|
+
for more info."
|
32
|
+
Strict-Transport-Security:
|
33
|
+
- max-age=31536000
|
34
|
+
X-Frame-Options:
|
35
|
+
- SAMEORIGIN
|
36
|
+
Date:
|
37
|
+
- Tue, 27 Oct 2020 18:33:35 GMT
|
38
|
+
Server:
|
39
|
+
- YouTube Frontend Proxy
|
40
|
+
X-Xss-Protection:
|
41
|
+
- '0'
|
42
|
+
Set-Cookie:
|
43
|
+
- GPS=1; path=/; domain=.youtube.com; expires=Tue, 27-Oct-2020 19:03:35 GMT
|
44
|
+
- VISITOR_INFO1_LIVE=blwzfYgCXp4; path=/; domain=.youtube.com; secure; expires=Sun,
|
45
|
+
25-Apr-2021 18:33:35 GMT; httponly; samesite=None
|
46
|
+
- YSC=sIfLtZOs6gs; path=/; domain=.youtube.com; secure; httponly; samesite=None
|
47
|
+
Alt-Svc:
|
48
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
49
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
50
|
+
ma=2592000; v="46,43"
|
51
|
+
Transfer-Encoding:
|
52
|
+
- chunked
|
53
|
+
body:
|
54
|
+
encoding: ASCII-8BIT
|
55
|
+
string: !binary |-
|
56
|
+
PCFkb2N0eXBlIGh0bWw+PGh0bWwgIHN0eWxlPSJmb250LXNpemU6IDEwcHg7Zm9udC1mYW1pbHk6IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IiBsYW5nPSJwdC1CUiIgZGlyPSJsdHIiIGdsPSJCUiI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIwLTEwLTIzIiBjb250ZW50PSJBaGJtUkRBU1k3TnVPWkQ5Y0ZNZ1FpaForbVFwQ3dhOFdUR2RUeDgydlNhcjlkZEJRYnppQmZaWFpnK1Njb2Z2RVpEZEhRTkNFd3o0eU03SGpCUzlSZ2tBQUFCbmV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwzbHZkWFIxWW1VdVkyOXRPalEwTXlJc0ltWmxZWFIxY21VaU9pSlhaV0pEYjIxd2IyNWxiblJ6VmpBaUxDSmxlSEJwY25raU9qRTJNRE0wT0RZNE5UWXNJbWx6VTNWaVpHOXRZV2x1SWpwMGNuVmxmUT09Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMC0xMC0yNyIgY29udGVudD0iQXYyKzFxZlVwM013RWZBRmNDY2N5a1MxcUZtdkxpQ3JNWi8vcEhRS25SWldHOWRsZFZvOEhZdUptR2oyd1o3bkRnK3hFNFJRTVErS3UxektNM1B2WUFJQUFBQm1leUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pTNWpiMjA2TkRReklpd2labVZoZEhWeVpTSTZJbGRsWWtOdmJYQnZibVZ1ZEhOV01DSXNJbVY0Y0dseWVTSTZNVFl3TXpnek5qYzNNaXdpYVhOVGRXSmtiMjFoYVc0aU9uUnlkV1Y5Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMS0wMS0wOCIgY29udGVudD0iQWl4VUsrOFVFU2hsdDYrSlgxd3k5ZWcrWEwrZVY1UFlTRURQSDNDOTBKTlZiSWtFMVJnMUZ5VlVmdTJiWi95NlBtMXhiUEx6dXdIWUhqdjR1S1BObkE0QUFBQnFleUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pYQnliMlF1WTI5dE9qUTBNeUlzSW1abFlYUjFjbVVpT2lKWFpXSkRiMjF3YjI1bGJuUnpWakFpTENKbGVIQnBjbmtpT2pFMk1UQXdOalEwTWpNc0ltbHpVM1ZpWkc5dFlXbHVJanAwY25WbGZRPT0iPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIxLTAzLTA5IiBjb250ZW50PSJBaEhwcTJuVVQ2ZnFQMEtta3E0OUVXSWNsMlAxTEsxY2VVMDVCb2lWbldpOFpJV0RkbVgva013TCtadHVDM29JZjB0bnM4WG5PNWZtOTQ2SkV6UFZFd2dBQUFCcWV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwyTXVaMjl2WjJ4bGNuTXVZMjl0T2pRME15SXNJbVpsWVhSMWNtVWlPaUpYWldKRGIyMXdiMjVsYm5SelZqQWlMQ0psZUhCcGNua2lPakUyTVRJeU1qTTVPVGtzSW1selUzVmlaRzl0WVdsdUlqcDBjblZsZlE9PSI+PHNjcmlwdCA+dmFyIHl0Y2ZnID0ge2Q6IGZ1bmN0aW9uKCkge3JldHVybiAod2luZG93Lnl0ICYmIHl0LmNvbmZpZ18pIHx8IHl0Y2ZnLmRhdGFfIHx8ICh5dGNmZy5kYXRhXyA9IHt9KTt9LGdldDogZnVuY3Rpb24oaywgbykge3JldHVybiAoayBpbiB5dGNmZy5kKCkpID8geXRjZmcuZCgpW2tdIDogbzt9LHNldDogZnVuY3Rpb24oKSB7dmFyIGEgPSBhcmd1bWVudHM7aWYgKGEubGVuZ3RoID4gMSkge3l0Y2ZnLmQoKVthWzBdXSA9IGFbMV07fSBlbHNlIHtmb3IgKHZhciBrIGluIGFbMF0pIHt5dGNmZy5kKClba10gPSBhWzBdW2tdO319fX07d2luZG93Lnl0Y2ZnLnNldCgnRU1FUkdFTkNZX0JBU0VfVVJMJywgIlwvZXJyb3JfMjA0P2NsaWVudC5uYW1lPTFcdTAwMjZjbGllbnQudmVyc2lvbj0yLjIwMjAxMDIzLjAyLjAwXHUwMDI2bGV2ZWw9RVJST1JcdTAwMjZ0PWpzZXJyb3IiKTs8L3NjcmlwdD4gIAo8c2NyaXB0ID52YXIgJGpzY29tcD0kanNjb21wfHx7fTskanNjb21wLnNjb3BlPXt9OyRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGw9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19OyRqc2NvbXAuYXJyYXlJdGVyYXRvcj1mdW5jdGlvbihhKXtyZXR1cm57bmV4dDokanNjb21wLmFycmF5SXRlcmF0b3JJbXBsKGEpfX07JGpzY29tcC5BU1NVTUVfRVM1PSExOyRqc2NvbXAuQVNTVU1FX05PX05BVElWRV9NQVA9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX1NFVD0hMTskanNjb21wLlNJTVBMRV9GUk9VTkRfUE9MWUZJTEw9ITE7JGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz0hMTskanNjb21wLkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTj0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO307JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAuSVNfU1lNQk9MX05BVElWRT0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sKCJ4Iik7JGpzY29tcC5UUlVTVF9FUzZfUE9MWUZJTExTPSEkanNjb21wLklTT0xBVEVfUE9MWUZJTExTfHwkanNjb21wLklTX1NZTUJPTF9OQVRJVkU7JGpzY29tcC5wb2x5ZmlsbHM9e307JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2w9e307JGpzY29tcC5QT0xZRklMTF9QUkVGSVg9IiRqc2NwJCI7JGpzY29tcC5wb2x5ZmlsbD1mdW5jdGlvbihhLGIsZCxlKXtiJiYoJGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz8kanNjb21wLnBvbHlmaWxsSXNvbGF0ZWQoYSxiLGQsZSk6JGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQoYSxiLGQsZSkpfTsKJGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQ9ZnVuY3Rpb24oYSxiKXt2YXIgZD0kanNjb21wLmdsb2JhbDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGU9MDtlPGEubGVuZ3RoLTE7ZSsrKXt2YXIgYz1hW2VdO2lmKCEoYyBpbiBkKSlyZXR1cm47ZD1kW2NdfWE9YVthLmxlbmd0aC0xXTtlPWRbYV07Yj1iKGUpO2IhPWUmJm51bGwhPWImJiRqc2NvbXAuZGVmaW5lUHJvcGVydHkoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKJGpzY29tcC5wb2x5ZmlsbElzb2xhdGVkPWZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLnNwbGl0KCIuIik7YT0xPT09ZS5sZW5ndGg7dmFyIGM9ZVswXTtjPSFhJiZjIGluICRqc2NvbXAucG9seWZpbGxzPyRqc2NvbXAucG9seWZpbGxzOiRqc2NvbXAuZ2xvYmFsO2Zvcih2YXIgZj0wO2Y8ZS5sZW5ndGgtMTtmKyspe3ZhciBnPWVbZl07aWYoIShnIGluIGMpKXJldHVybjtjPWNbZ119ZT1lW2UubGVuZ3RoLTFdO2Q9JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFJiYiZXM2Ij09PWQ/Y1tlXTpudWxsO2I9YihkKTtudWxsIT1iJiYoYT8kanNjb21wLmRlZmluZVByb3BlcnR5KCRqc2NvbXAucG9seWZpbGxzLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSk6YiE9PWQmJigkanNjb21wLnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbFtlXT0kanNjb21wLklTX1NZTUJPTF9OQVRJVkU/JGpzY29tcC5nbG9iYWwuU3ltYm9sKGUpOiRqc2NvbXAuUE9MWUZJTExfUFJFRklYK2UsCmU9JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbZV0sJGpzY29tcC5kZWZpbmVQcm9wZXJ0eShjLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSkpKX07JGpzY29tcC5pbml0U3ltYm9sPWZ1bmN0aW9uKCl7fTsKJGpzY29tcC5wb2x5ZmlsbCgiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGMsZil7dGhpcy4kanNjb21wJHN5bWJvbCRpZF89YzskanNjb21wLmRlZmluZVByb3BlcnR5KHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kanNjb21wJHN5bWJvbCRpZF99O3ZhciBkPTAsZT1mdW5jdGlvbihjKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGIoImpzY29tcF9zeW1ib2xfIisoY3x8IiIpKyJfIitkKyssYyl9O3JldHVybiBlfSwiZXM2IiwiZXMzIik7CiRqc2NvbXAucG9seWZpbGwoIlN5bWJvbC5pdGVyYXRvciIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTthPVN5bWJvbCgiU3ltYm9sLml0ZXJhdG9yIik7Zm9yKHZhciBiPSJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSIuc3BsaXQoIiAiKSxkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPSRqc2NvbXAuZ2xvYmFsW2JbZF1dOyJmdW5jdGlvbiI9PT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUucHJvdG90eXBlW2FdJiYkanNjb21wLmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiAkanNjb21wLml0ZXJhdG9yUHJvdG90eXBlKCRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGwodGhpcykpfX0pfXJldHVybiBhfSwiZXM2IiwKImVzMyIpOyRqc2NvbXAuaXRlcmF0b3JQcm90b3R5cGU9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9OyRqc2NvbXAuaXRlcmF0b3JGcm9tQXJyYXk9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBkPTAsZT0hMSxjPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWUmJmQ8YS5sZW5ndGgpe3ZhciBmPWQrKztyZXR1cm57dmFsdWU6YihmLGFbZl0pLGRvbmU6ITF9fWU9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2NbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBjfTtyZXR1cm4gY307CiRqc2NvbXAucG9seWZpbGwoIkFycmF5LnByb3RvdHlwZS5rZXlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmE9ZnVuY3Rpb24oKXtyZXR1cm4gJGpzY29tcC5pdGVyYXRvckZyb21BcnJheSh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBifSl9fSwiZXM2IiwiZXMzIik7d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8ITA7d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXM9e307d2luZG93LnVuaGFuZGxlZEVycm9yQ291bnQ9MDsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsZSxjKXtjfHwoYz1FcnJvcigpLGMuc3RhY2s9IiIsYy5tZXNzYWdlPWEsYy5maWxlTmFtZT1iLGMubGluZU51bWJlcj1kLGlzTmFOKGUpfHwoYy5jb2x1bW5OdW1iZXI9ZSkpO2I9U3RyaW5nKGMubWVzc2FnZSk7aWYoISghYy5tZXNzYWdlfHxiIGluIHdpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzfHw1PD13aW5kb3cudW5oYW5kbGVkRXJyb3JDb3VudCkpe3dpbmRvdy51bmhhbmRsZWRFcnJvckNvdW50Kz0xO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW2JdPSEwO2E9bmV3IEltYWdlO3dpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nPWE7YS5vbmxvYWQ9YS5vbmVycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIHdpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nfTtlPWMubGluZU51bWJlcjtpc05hTihjLmNvbHVtbk51bWJlcil8fChlKz0iOiIrYy5jb2x1bW5OdW1iZXIpO2Q9Yy5zdGFja3x8IiI7Yj17bXNnOmIsdHlwZTpjLm5hbWUsCiJjbGllbnQucGFyYW1zIjoidW5oYW5kbGVkIHdpbmRvdyBlcnJvciIsZmlsZTpjLmZpbGVOYW1lLGxpbmU6ZSxzdGFjazpkLnN1YnN0cigwLDUwMCl9O2M9Ijxhbm9ueW1vdXM+Ij09PWMuZmlsZU5hbWU7ZD1kLnJlcGxhY2UoL2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cLy9nLCIiKTtkLm1hdGNoKC9odHRwcz86XC9cL1teL10rXC8vKSYmKGM9ITApO2MmJihiLmxldmVsPSJXQVJOSU5HIik7Yz1bd2luZG93Lnl0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZXJyb3JfMjA0P3Q9anNlcnJvciZsZXZlbD1FUlJPUiIpXTtmb3IodmFyIGYgaW4gYikoZD1iW2ZdKSYmYy5wdXNoKGYrIj0iK2VuY29kZVVSSUNvbXBvbmVudChkKSk7YS5zcmM9Yy5qb2luKCImIil9fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShmKXt2YXIgZz10aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdO2lmKCFnKXtnPU9iamVjdC5jcmVhdGUodGhpcy5nZXROYXRpdmVQcm90b3R5cGUoZikpO2Zvcih2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cuUG9seW1lci5CYXNlKSxrPTAsaD12b2lkIDA7azxsLmxlbmd0aCYmKGg9bFtrXSk7aysrKWlmKCF3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnNbaF0pdHJ5e2dbaF09d2luZG93LlBvbHltZXIuQmFzZVtoXX1jYXRjaChtKXt0aHJvdyBFcnJvcigiRXJyb3Igd2hpbGUgY29weWluZyBwcm9wZXJ0eTogIitoKyIuIFRhZyBpcyAiK2YpO310cnl7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZyx3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnMpfWNhdGNoKG0pe3Rocm93IEVycm9yKCJQb2x5bWVyIGRlZmluZSBwcm9wZXJ0eSBmYWlsZWQgZm9yICIrT2JqZWN0LmtleXMoZykpO310aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdPQpnfXJldHVybiBnfWZ1bmN0aW9uIGIoZil7d2luZG93Lm9uZXJyb3IoZix3aW5kb3cubG9jYXRpb24uaHJlZiwwLDAsRXJyb3IoQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVudHMsIiwiKSkpfXZhciBkPXdpbmRvdy5Qb2x5bWVyLGU9ZnVuY3Rpb24oZil7IWQuX3l0SW50ZXJjZXB0ZWQmJndpbmRvdy5Qb2x5bWVyLkJhc2UmJihkLl95dEludGVyY2VwdGVkPSEwLHdpbmRvdy5Qb2x5bWVyLkJhc2UuX2dldEV4dGVuZGVkTmF0aXZlUHJvdG90eXBlPWEsd2luZG93LlBvbHltZXIuQmFzZS5fZXJyb3I9Yix3aW5kb3cuUG9seW1lci5CYXNlLl93YXJuPWIpO3JldHVybiBkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywiUG9seW1lciIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csIlBvbHltZXIiLHtzZXQ6ZnVuY3Rpb24oZil7YyYmYy5zZXQmJmMuZ2V0PyhjLnNldChmKSxkPWMuZ2V0KCkpOmQ9ZjsKImZ1bmN0aW9uIj09PXR5cGVvZiBkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJQb2x5bWVyIix7dmFsdWU6ZCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMH0pfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGQ/ZTpkfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pfSkoKTsKPC9zY3JpcHQ+ICAKPHNjcmlwdCA+d2luZG93LlNoYWR5RE9NID0ge2ZvcmNlOiB0cnVlfTt3aW5kb3cuU2hhZHlET00ucHJlZmVyUGVyZm9ybWFuY2UgPSB0cnVlO3dpbmRvdy5TaGFkeURPTS5ub1BhdGNoID0gdHJ1ZTt3aW5kb3cuUG9seW1lciA9ICh3aW5kb3cuUG9seW1lciB8fCB7fSk7d2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9ucyA9IHRydWU7PC9zY3JpcHQ+PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8zMi5wbmciIHNpemVzPSIzMngzMiIgPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2ltZy9mYXZpY29uXzQ4LnBuZyIgc2l6ZXM9IjQ4eDQ4IiA+PGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb25fOTYucG5nIiBzaXplcz0iOTZ4OTYiID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8xNDQucG5nIiBzaXplcz0iMTQ0eDE0NCIgPjxzY3JpcHQgPnZhciB5dGNzaSA9IHtndDogZnVuY3Rpb24obikge24gPSAobiB8fCAnJykgKyAnZGF0YV8nO3JldHVybiB5dGNzaVtuXSB8fCAoeXRjc2lbbl0gPSB7dGljazoge30saW5mbzoge319KTt9LG5vdzogKHdpbmRvdy5wZXJmb3JtYW5jZSAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nICYmd2luZG93LnBlcmZvcm1hbmNlLm5vdyAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCkgP2Z1bmN0aW9uKCkge3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCArd2luZG93LnBlcmZvcm1hbmNlLm5vdygpO30gOmZ1bmN0aW9uKCkge3JldHVybiAobmV3IERhdGUoKSkuZ2V0VGltZSgpO30sdGljazogZnVuY3Rpb24obCwgdCwgbikge3ZhciB0aWNrcyA9IHl0Y3NpLmd0KG4pLnRpY2s7dmFyIHYgPSB0IHx8IHl0Y3NpLm5vdygpO2lmICh0aWNrc1tsXSkge3RpY2tzWydfJyArIGxdID0gKHRpY2tzWydfJyArIGxdIHx8IFt0aWNrc1tsXV0pO3RpY2tzWydfJyArIGxdLnB1c2godik7fXRpY2tzW2xdID0gdjt9LGluZm86IGZ1bmN0aW9uKGssIHYsIG4pIHt5dGNzaS5ndChuKS5pbmZvW2tdID0gdjt9LHNldFN0YXJ0OiBmdW5jdGlvbihzLCB0LCBuKSB7eXRjc2kuaW5mbygneXRfc3RzJywgcywgbik7eXRjc2kudGljaygnX3N0YXJ0JywgdCwgbik7fX07KGZ1bmN0aW9uKHcsIGQpIHt5dGNzaS5zZXRTdGFydCgnZGhzJywgdy5wZXJmb3JtYW5jZSA/IHcucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgOiBudWxsKTt2YXIgaXNQcmVyZW5kZXIgPSAoZC52aXNpYmlsaXR5U3RhdGUgfHwgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpID09ICdwcmVyZW5kZXInO3ZhciB2TmFtZSA9ICghZC52aXNpYmlsaXR5U3RhdGUgJiYgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPyAnd2Via2l0dmlzaWJpbGl0eWNoYW5nZScgOiAndmlzaWJpbGl0eWNoYW5nZSc7aWYgKGlzUHJlcmVuZGVyKSB7eXRjc2kuaW5mbygncHJlcmVuZGVyJywgMSk7dmFyIHN0YXJ0VGljayA9IGZ1bmN0aW9uKCkge3l0Y3NpLnNldFN0YXJ0KCdkaHMnKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljayk7fTtkLmFkZEV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljaywgZmFsc2UpO31pZiAoZC5hZGRFdmVudExpc3RlbmVyKSB7ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLCBmdW5jdGlvbigpIHt5dGNzaS50aWNrKCd2YycpO30sIGZhbHNlKTt9ZnVuY3Rpb24gaXNHZWNrbygpIHtpZiAoIXcubmF2aWdhdG9yIHx8ICF3Lm5hdmlnYXRvci51c2VyQWdlbnQpIHtyZXR1cm4gZmFsc2U7fXZhciB1YSA9IHcubmF2aWdhdG9yLnVzZXJBZ2VudDtyZXR1cm4gdWEuaW5kZXhPZignR2Vja28nKSA+IDAgJiZ1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3dlYmtpdCcpIDwgMCAmJnVhLmluZGV4T2YoJ0VkZ2UnKSA8IDAgJiZ1YS5pbmRleE9mKCdUcmlkZW50JykgPCAwICYmdWEuaW5kZXhPZignTVNJRScpIDwgMDt9aWYgKGlzR2Vja28oKSkge3ZhciBpc0hpZGRlbiA9IChkLnZpc2liaWxpdHlTdGF0ZSB8fCBkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSkgPT0gJ2hpZGRlbic7aWYgKGlzSGlkZGVuKSB7eXRjc2kudGljaygndmMnKTt9fXZhciBzbHQgPSBmdW5jdGlvbihlbCwgdCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7dmFyIG4gPSB5dGNzaS5ub3coKTtlbC5sb2FkVGltZSA9IG47aWYgKGVsLnNsdCkge2VsLnNsdCgpO319LCB0KTt9O3cuX195dFJJTCA9IGZ1bmN0aW9uKGVsKSB7aWYgKCFlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGh1bWInKSkge2lmICh3LnJlcXVlc3RBbmltYXRpb25GcmFtZSkge3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkge3NsdChlbCwgMCk7fSk7fSBlbHNlIHtzbHQoZWwsIDE2KTt9fX07fSkod2luZG93LCBkb2N1bWVudCk7PC9zY3JpcHQ+PHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBpbWcgPSBuZXcgSW1hZ2UoKS5zcmMgPSAiaHR0cHM6Ly9pLnl0aW1nLmNvbS9nZW5lcmF0ZV8yMDQiO30pKCk7PC9zY3JpcHQ+ICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImxwY3MiLCBudWxsLCAnJyk7fShmdW5jdGlvbigpIHt3aW5kb3cueXRwbGF5ZXIgPSB7fTt5dGNmZy5zZXQoeyJSRVVTRV9DT01QT05FTlRTIjp0cnVlLCJESVNBQkxFX1dBUk1fTE9BRFMiOmZhbHNlLCJZUENfTUJfVVJMIjoiaHR0cHM6XC9cL3BheW1lbnRzLnlvdXR1YmUuY29tXC9wYXltZW50c1wvdjRcL2pzXC9pbnRlZ3JhdG9yLmpzP3NzPW1kIiwiU0JPWF9KU19VUkwiOiJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9zXC9kZXNrdG9wXC9hOTAwMzZlYVwvanNiaW5cL3d3dy1zZWFyY2hib3gudmZsc2V0XC93d3ctc2VhcmNoYm94LmpzIiwiSFRNTF9MQU5HIjoicHQtQlIiLCJTVEFNUEVSX1NUQUJMRV9MSVNUIjp0cnVlLCJQTEFZRVJfQ1NTX1VSTCI6Ilwvc1wvcGxheWVyXC85YjY1ZTk4MFwvd3d3LXBsYXllci5jc3MiLCJTVEFSVF9JTl9GVUxMX1dJTkRPV19NT0RFIjpmYWxzZSwiWVRSX0ZBTUlMWV9DUkVBVElPTl9VUkwiOiJodHRwczpcL1wvZmFtaWxpZXMuZ29vZ2xlLmNvbVwvd2ViY3JlYXRpb24/dXNlZ2FwaT0xIiwiSU5ORVJUVUJFX0NPTlRFWFRfSEwiOiJwdCIsIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJFWFBFUklNRU5UX0ZMQUdTIjp7InBvbHltZXJfZW5hYmxlX21keCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9wcm9tcHRfY2FwIjotMSwiaHRtbDVfZXhwZXJpbWVudF9pZF9sYWJlbCI6MjM5NTAyNzMsImtldmxhcl9wbGF5ZXJfZGlzYWJsZV9ydnNfdXBkYXRlIjp0cnVlLCJ1c2VyX21lbnRpb25fc3VnZ2VzdGlvbnNfZWR1X2ltcHJlc3Npb25fY2FwIjoxMCwic2hvdWxkX2NsZWFyX3ZpZGVvX2RhdGFfb25fcGxheWVyX2N1ZWRfdW5zdGFydGVkIjp0cnVlLCJ5b29kbGVfc3RhcnRfdGltZV91dGMiOjE2MDM3NzExOTksImtldmxhcl9taW5pcGxheWVyX3F1ZXVlX3VzZXJfYWN0aXZhdGlvbiI6dHJ1ZSwia2V2bGFyX21pbmlwbGF5ZXIiOnRydWUsImdsb2JhbF9zcGFjZWJhcl9wYXVzZSI6dHJ1ZSwia2V2bGFyX29wX21pZ3JhdGlvbiI6dHJ1ZSwia2V2bGFyX3VzZV9wYWdlX2RhdGFfd2lsbF91cGRhdGUiOnRydWUsIndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsInByZWZldGNoX2NvbW1lbnRzX21zX2FmdGVyX3ZpZGVvIjowLCJsb2dfdmlzX29uX3RhYl9jaGFuZ2UiOnRydWUsInR3ZWx2ZV92aWRlb19yZW9yZGVyaW5nIjpbMCwxLDIsNCw3LDgsMyw1LDYsOSwxMCwxMV0sImRpc2FibGVfeW91dGhlcmVfbGFjdF90aHJlc2hvbGRfY2hlY2siOnRydWUsImtldmxhcl9pY29uc19vbl9tZW51cyI6dHJ1ZSwia2V2bGFyX21lbnVfbG9nZ2luZyI6dHJ1ZSwic2VhcmNoYm94X3JlcG9ydGluZyI6dHJ1ZSwiZW5hYmxlX2JvcmRlcnNfb25fY29tbXVuaXR5Ijp0cnVlLCJrZXZsYXJfYXV0b2ZvY3VzX21lbnVfb25fa2V5Ym9hcmRfbmF2Ijp0cnVlLCJrZXZsYXJfYWRfYmFkZ2VfbGluZV9oZWlnaHRfdXBkYXRlIjp0cnVlLCJhbGxvd19odHRwc19zdHJlYW1pbmdfZm9yX2FsbCI6dHJ1ZSwia2V2bGFyX2FsbG93X3BsYXlsaXN0X3Jlb3JkZXIiOnRydWUsImtldmxhcl9ndWlkZV9hamF4X21pZ3JhdGlvbiI6dHJ1ZSwid2ViX2Fsd2F5c19sb2FkX2NoYXRfc3VwcG9ydCI6dHJ1ZSwia2V2bGFyX2hpZGVfcHBfdXJsX3BhcmFtIjp0cnVlLCJrZXZsYXJfZmFsbGJhY2tfdG9fcGFnZV9kYXRhX3Jvb3RfdmUiOnRydWUsImtldmxhcl9hbGxvd19tdWx0aXN0ZXBfdmlkZW9faW5pdCI6dHJ1ZSwia2V2bGFyX3BsYXllcl9hdXRvcGxheV9jb3VudF9mcm9tX3J2cyI6dHJ1ZSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX2F1dG9tYXRpY19yZWNvdmVyIjp0cnVlLCJ3YXRjaF9uZXh0X3BhdXNlX2F1dG9wbGF5X2xhY3Rfc2VjIjo0NTAwLCJlbmFibGVfbGNyX2Jyb2FkY2FzdF9lZGl0b3IiOnRydWUsIm5vX3N1Yl9jb3VudF9vbl9zdWJfYnV0dG9uIjp0cnVlLCJib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zIjozMDAwLCJyZW5kZXJfbWV0YV90YWdzX2xhYnMiOnRydWUsImVuYWJsZV9wcm9ncmFtbWVkX3BsYXlsaXN0X3JlZGVzaWduIjp0cnVlLCJwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHMiOnRydWUsImVuYWJsZV9zZXJ2bGV0X3N0cmVhbXoiOnRydWUsIm92ZXJ3cml0ZV9wb2x5ZmlsbF9vbl9sb2dnaW5nX2xpYl9sb2FkZWQiOnRydWUsImtldmxhcl9ndWlkZV9yZWZyZXNoIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6IlwvIiwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zYW1wbGluZ19mcmFjdGlvbiI6MC4wLCJsb2dfd2ViX21ldGFfaW50ZXJ2YWxfbXMiOjAsInJlbmRlcl9taWNyb2Zvcm1hdF9pbl9oZWFkIjp0cnVlLCJwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlIjp0cnVlLCJrZXZsYXJfc2V0dGluZ3NfcHJpdmFjeSI6dHJ1ZSwiZW5hYmxlX3RvcHNvaWxfd3RhX2Zvcl9oYWxmdGltZSI6dHJ1ZSwiZW5hYmxlX2NhbGxfdG9fYWN0aW9uX2NsYXJpZmljYXRpb25fcmVuZGVyZXJfYm90dG9tX3NlY3Rpb25fY29uZGl0aW9ucyI6dHJ1ZSwid2ViX2RlcHJlY2F0ZV9zZXJ2aWNlX2FqYXhfbWFwX2RlcGVuZGVuY3kiOnRydWUsImRlc2t0b3BfdG91Y2hfZ2VzdHVyZXNfdXNhZ2VfbG9nIjp0cnVlLCJwZXJzaXN0ZW50X21pbmlwbGF5ZXIiOnRydWUsImtldmxhcl9jaGFubmVsc19wbGF5ZXJfaGFuZGxlX21pc3Npbmdfc3dmY29uZmlnIjp0cnVlLCJzZXJ2ZV9jcm9zc3dhbGtfY29tcGxpYW50X3BkcCI6dHJ1ZSwia2V2bGFyX21pbmlwbGF5ZXJfbm9fdXBkYXRlX29uX2RlYWN0aXZhdGUiOnRydWUsImVsZW1lbnRfcG9vbF9wb3B1bGF0b3JfYXV0b19hYm9ydCI6dHJ1ZSwibGl2ZV9jaGF0X3VuaWNvZGVfZW1vamlfanNvbl91cmwiOiJodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC95b3V0dWJlXC9pbWdcL2Vtb2ppc1wvZW1vamlzLXN2Zy00Lmpzb24iLCJrZXZsYXJfb25lX3BpY2tfYWRkX3ZpZGVvX3RvX3BsYXlsaXN0Ijp0cnVlLCJsaXZlX2NoYXRfaXRmZV9lbmRwb2ludF9taWdyYXRpb24iOnRydWUsImtldmxhcl9zbmFwX3N0YXRlX3JlZnJlc2giOnRydWUsImVuYWJsZV9idXR0b25fYmVoYXZpb3JfcmV1c2UiOnRydWUsImRlc2t0b3BfYWN0aW9uX2NvbXBhbmlvbl93dGFfc3VwcG9ydCI6dHJ1ZSwid2ViX3NjcmVlbl9hc3NvY2lhdGVkX2FsbF9sYXllcnMiOnRydWUsImtldmxhcl90cmFuc2NyaXB0X3BhbmVsX3JlZnJlc2hlZF9zdHlsZXMiOnRydWUsImtldmxhcl93YXRjaF9za2VsZXRvbiI6dHJ1ZSwid2ViX2xvZ2dpbmdfbWF4X2JhdGNoIjoxNTAsIndlYl9hcGlfdXJsIjp0cnVlLCJ3ZWJfcGxheWVyX3dhdGNoX25leHRfcmVzcG9uc2UiOnRydWUsImtldmxhcl9sb2dfbmF0aXZlX3JpZ2h0X2NsaWNrX3ZlIjp0cnVlLCJwb2x5bWVyX3ZpZGVvX3JlbmRlcmVyX2RlZmVyX21lbnUiOnRydWUsInBial9uYXZpZ2F0ZV9saW1pdCI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfd2F0Y2hfcGFnZV9wcm9tcHQiOnRydWUsImVuYWJsZV95cGNfc3Bpbm5lcnMiOnRydWUsImtldmxhcl9vcF9taWdyYXRpb25fYmF0Y2hfMiI6dHJ1ZSwia2V2bGFyX29wX21pZ3JhdGlvbl9iYXRjaF8zIjp0cnVlLCJmaXhfZm9yX3NhZmFyaV9kZXNrdG9wX21hc3RoZWFkX2Jhbm5lcl9zaXplIjp0cnVlLCJ3ZWJfeXRfY29uZmlnX2NvbnRleHQiOnRydWUsImxpdmVfY2hhdF9pbmNyZWFzZWRfbWluX2hlaWdodCI6dHJ1ZSwia2V2bGFyX2Rpc2FibGVfY2hhbm5lbHNfZmxvd19wYXJhbSI6dHJ1ZSwic3VwcHJlc3NfZ2VuXzIwNCI6dHJ1ZSwibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIjowLjEsImNzaV9vbl9nZWwiOnRydWUsIm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpIjp0cnVlLCJuZXR3b3JrbGVzc190aHJvdHRsZV90aW1lb3V0IjoxMDAsImtldmxhcl9jb2xsZWN0X2JhdHRlcnlfbmV0d29ya19zdGF0dXMiOnRydWUsInBvbHltZXIyX3BvbHlmaWxsX21hbnVhbF9mbHVzaCI6dHJ1ZSwidmlzaWJpbGl0eV90aW1lX2JldHdlZW5fam9ic19tcyI6MTAwLCJlbmFibGVfc2VydmljZV9hamF4X2NzbiI6dHJ1ZSwiYXBwX3NldHRpbmdzX3NuYXBzaG90X21pbl90aW1lX2JldHdlZW5fc25hcHNob3RzX2hvdXJzIjoyNCwiZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWUiOnRydWUsImRlY29yYXRlX2F1dG9wbGF5X3JlbmRlcmVyIjp0cnVlLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZyI6dHJ1ZSwia2V2bGFyX3RpbWVfY2FjaGluZ19lbmRfdGhyZXNob2xkIjoxNSwia2V2bGFyX25leHRfdXBfbmV4dF9lZHVfZW1vamkiOiIiLCJkZWxheV9nZWxfdW50aWxfY29uZmlnX3JlYWR5Ijp0cnVlLCJlbmFibGVfbWljcm9mb3JtYXRfZGF0YSI6dHJ1ZSwiYXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudF9hZnRlcl9hdXRvcGxheWVkX3ZpZGVvIjotMSwid2ViX3JlZnJlc2hfaW5mb19wYW5lbCI6dHJ1ZSwiZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21feGhyX2NsaWVudCI6dHJ1ZSwiZGVza3RvcF9wZXJzaXN0ZW50X21lbnUiOnRydWUsImtldmxhcl9tZW51X3JlZnJlc2giOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfZm9yY2Vfbm90aWZpY2F0aW9uX3Byb21wdF90YWciOiIxIiwia2V2bGFyX3RodW1ibmFpbF9vdmVybGF5X2J1dHRvbl9yZWZyZXNoIjp0cnVlLCJrZXZsYXJfaG9tZV9za2VsZXRvbiI6dHJ1ZSwia2V2bGFyX3ByZWZldGNoIjp0cnVlLCJ5b29kbGVfYmFzZV91cmwiOiJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9pbWdcL2JyYW5kaW5nXC9kZXNrdG9wXC9nbG9iYWxfdGVzdFwveXRfbG9nb192MSIsImRlc2t0b3BfcHl2X29uX3dhdGNoX21pc3NpbmdfcGFyYW1zIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2hvbWVfcGFnZV9wcm9tcHQiOnRydWUsImRpc2FibGVfc2ltcGxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwia2V2bGFyX2V4aXRfZnVsbHNjcmVlbl9sZWF2aW5nX3dhdGNoIjp0cnVlLCJkZXNrdG9wX3N3aXBlYWJsZV9ndWlkZSI6dHJ1ZSwia2V2bGFyX2ZpeF9wbGF5bGlzdF9jb250aW51YXRpb24iOnRydWUsImV4dGVybmFsX2Z1bGxzY3JlZW5fd2l0aF9lZHUiOnRydWUsImtldmxhcl9ub19lYXJseV9pbml0X3VucGF1c2UiOnRydWUsImtldmxhcl91c2Vfb25lX3BsYXRmb3JtX2Zvcl9xdWV1ZV9yZWZyZXNoIjp0cnVlLCJkZXNrdG9wX3RoZW1lYWJsZV92dWxjYW4iOnRydWUsImtldmxhcl9mcm9udGVuZF92aWRlb19saXN0X2FjdGlvbnMiOnRydWUsImtldmxhcl9maXhfbWluaXBsYXllcl9sb2dnaW5nIjp0cnVlLCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiOjEwMCwiZW5hYmxlX3B1cmNoYXNlX2FjdGl2aXR5X2luX3BhaWRfbWVtYmVyc2hpcHMiOnRydWUsIndlYl9wbGF5ZXJfZW5hYmxlX2lwcCI6dHJ1ZSwiZW5hYmxlX3BsYXllcl9taWNyb2Zvcm1hdF9kYXRhIjp0cnVlLCJrZXZsYXJfY2FuY2VsX3NjaGVkdWxlZF9jb21tZW50X2pvYnNfb25fbmF2aWdhdGUiOnRydWUsImZpeF9kZXNrdG9wX2Fkc19jdGFfZHVwX2NsaWNrX3BpbmciOnRydWUsInBhaXJfc2VydmxldF9kZXByZWNhdGlvbl93YXJuaW5nX2VuYWJsZWQiOnRydWUsImtldmxhcl9jbGllbnRfc2F2ZV9zdWJzX3ByZWZlcmVuY2VzIjp0cnVlLCJtYXhfZHVyYXRpb25fdG9fY29uc2lkZXJfbW91c2VvdmVyX2FzX2hvdmVyIjo2MDAwMDAsInRlbl92aWRlb19yZW9yZGVyaW5nIjpbMCwxLDIsMyw2LDQsNSw3LDgsOV0sIndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0IjpbXSwia2V2bGFyX2Rpc2FibGVfZmFzdF9wbGF5ZXJfc2l6aW5nX29uX2NoYW5uZWxfcGFnZSI6dHJ1ZSwia2V2bGFyX2xvZ19wcmVmZXJzX2NvbG9yX3RoZW1lIjp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ190YWdzIjp0cnVlLCJ1c2VfcHJldmlld19zZWxlY3Rpb25fdG9vbCI6dHJ1ZSwibGl2ZV9jaGF0X2NsaWVudF91cmwiOnRydWUsImtldmxhcl9oZWxwX3VzZV9sb2NhbGUiOnRydWUsInBsYXlsaXN0X3JlbW92ZV93YXRjaGVkIjp0cnVlLCJyZW5kZXJfY2hhbm5lbF9jYW5vbmljYWxfdGFncyI6dHJ1ZSwia2V2bGFyX21pbmlfZ3VpZGVfd2lkdGhfdGhyZXNob2xkIjo3OTEsImtldmxhcl9kZXByZWNhdGVkX3RpY2tlciI6dHJ1ZSwid2ViX2dlbF9kZWJvdW5jZV9tcyI6MTAwMDAsImRlc2t0b3Bfbm90aWZpY2F0aW9uX2hpZ2hfcHJpb3JpdHlfaWdub3JlX3B1c2giOnRydWUsImVuYWJsZV95dG9fd2luZG93Ijp0cnVlLCJrZXZsYXJfcGVyc2lzdGVudF9ndWlkZV93aWR0aF90aHJlc2hvbGQiOjEzMTIsImZpbGxfd2ViX3BsYXllcl9jb250ZXh0X2NvbmZpZyI6dHJ1ZSwid2ViX21vdmVfcGFzc2l2ZV9zaWduaW4iOnRydWUsImtldmxhcl9hcHBseV9wcmVmZXJzX2NvbG9yX3RoZW1lIjp0cnVlLCJkZXNrdG9wX2tleWJvYXJkX2NhcHR1cmVfa2V5ZG93bl9raWxsc3dpdGNoIjp0cnVlLCJsaXZlX2NoYXRfbGl2ZV9jb21tZW50YXJ5X21vZGUiOnRydWUsImtldmxhcl9sb2dnZWRfb3V0X3RvcGJhcl9tZW51X21pZ3JhdGlvbiI6dHJ1ZSwid2FybV9sb2FkX25hdl9zdGFydF93ZWIiOnRydWUsImtldmxhcl9wbGF5bGlzdF9kcmFnX2hhbmRsZXMiOnRydWUsImVuYWJsZV9jbGllbnRfc3RyZWFtel93ZWIiOnRydWUsImtldmxhcl90cmFuc2NyaXB0X2VuZ2FnZW1lbnRfcGFuZWwiOnRydWUsImRlc2t0b3BfYWRkX3RvX3BsYXlsaXN0X3JlbmRlcmVyX2RpYWxvZ19wb3B1cCI6dHJ1ZSwia2V2bGFyX3NldF9pbnRlcm5hbF9wbGF5ZXJfc2l6ZSI6dHJ1ZSwiYXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudCI6LTEsImtldmxhcl9ob21lX3NrZWxldG9uX2hpZGVfbGF0ZXIiOnRydWUsImtldmxhcl9yZXBvc2l0aW9uX2d1aWRlX2h0bWwiOnRydWUsIndlYl9lbmFibGVfaGlzdG9yeV9jYWNoZV9tYXAiOnRydWUsInVzZV90eXBlc2NyaXB0X3RyYW5zcG9ydCI6dHJ1ZSwic3VwcHJlc3Nfc3BhcmtsZXNfZm9yX3doaXRlbGlzdGVkX2luc3RyZWFtX29uX2Rlc2t0b3AiOnRydWUsImVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3MiOnRydWUsImtldmxhcl90b29sdGlwX2ltcHJlc3Npb25fY2FwIjoyLCJwb2x5bWVyX3JlcG9ydF9taXNzaW5nX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X3JhdGUiOjAuMDAxLCJwb2x5bWVyX3JlcG9ydF9jbGllbnRfdXJsX3JlcXVlc3RlZF9yYXRlIjowLjAwMSwiZW5hYmxlX3dlYl9wb3N0ZXJfaG92ZXJfYW5pbWF0aW9uIjp0cnVlLCJrZXZsYXJfZW5hYmxlX2VkaXRhYmxlX3BsYXlsaXN0cyI6dHJ1ZSwid2ViX2VtdWxhdGVkX2lkbGVfY2FsbGJhY2tfZGVsYXkiOjAsImxvZ19qc19leGNlcHRpb25zX2ZyYWN0aW9uIjoxLjAsImVuYWJsZV9wcmVtaXVtX3ZvbHVudGFyeV9wYXVzZSI6dHJ1ZSwiZGVmZXJfb3ZlcmxheXMiOnRydWUsIndlYl9wb3N0X3NlYXJjaCI6dHJ1ZSwiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2ludGVydmFsX3NlY29uZHMiOjYwLCJrZXZsYXJfdGh1bWJuYWlsX2ZseW91dF9kZWxheSI6MzAwLCJrZXZsYXJfbmV4dF9jb2xkX29uX2F1dGhfY2hhbmdlX2RldGVjdGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2VuYWJsZWQiOnRydWUsImtldmxhcl9hbGxvd19xdWV1ZV9yZW9yZGVyIjp0cnVlLCJrZXZsYXJfcHJlcGFyZV9wbGF5ZXJfb25fbWluaXBsYXllcl9hY3RpdmF0aW9uIjp0cnVlLCJ5b3VyX2RhdGFfZW50cnlwb2ludCI6dHJ1ZSwiY29uZmlnX2FnZV9yZXBvcnRfa2lsbHN3aXRjaCI6dHJ1ZSwia2V2bGFyX25pdHJhdGVfZHJpdmVuX3Rvb2x0aXBzIjp0cnVlLCJ3ZWJfbG9nX2Nvbm5lY3Rpb24iOnRydWUsImtldmxhcl9oaWRlX3RpbWVfY29udGludWVfdXJsX3BhcmFtIjp0cnVlLCJlbmFibGVfc3VwZXJfdm9kX3ByaWNlX3NlbGVjdG9yIjp0cnVlLCJwb2x5bWVyX3Rhc2tfbWFuYWdlcl9zdGF0dXMiOiJwcm9kdWN0aW9uIiwid2ViX3Nob3dfZGVzY3JpcHRpb25fdGFnX21vdmllcyI6dHJ1ZSwia2V2bGFyX2Ryb3BwYWJsZV9wcmVmZXRjaGFibGVfcmVxdWVzdHMiOnRydWUsImtldmxhcl9rZXlib2FyZF9idXR0b25fZm9jdXMiOnRydWUsIndlYl9nZWxfdGltZW91dF9jYXAiOnRydWUsImRlYnVnX2ZvcmNlZF9pbnRlcm5hbGNvdW50cnljb2RlIjoiIiwia2V2bGFyX21pbmlwbGF5ZXJfcGxheV9wYXVzZV9vbl9zY3JpbSI6dHJ1ZSwiZW5hYmxlX3dlYl9rZXRjaHVwX2hlcm9fYW5pbWF0aW9uIjp0cnVlLCJrZXZsYXJfc2V0dGluZ3Nfc2hhcmluZyI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbiI6dHJ1ZSwidmlld3BvcnRfbG9hZF9jb2xsZWN0aW9uX3dhaXRfdGltZSI6MCwic2VydmljZV93b3JrZXJfcHVzaF9sb2dnZWRfb3V0X3Byb21wdF93YXRjaGVzIjotMSwia2V2bGFyX3BsYXllcl9yZXNwb25zZV9zd2ZfY29uZmlnX3dyYXBwZXJfa2lsbHN3aXRjaCI6dHJ1ZSwia2V2bGFyX2F1dG9uYXZfcG9wdXBfZmlsdGVyaW5nIjp0cnVlLCJkZXNrdG9wX2FkanVzdF90b3VjaF90YXJnZXQiOnRydWUsImtldmxhcl9tYWNyb19tYXJrZXJzX2tleWJvYXJkX3Nob3J0Y3V0Ijp0cnVlLCJtaW5fbW91c2Vfc3RpbGxfZHVyYXRpb24iOjEwMCwid2ViX2xpZmVjeWNsZXMiOnRydWUsIndlYl9vcF9jb250aW51YXRpb25fdHlwZV9iYW5saXN0IjpbXSwiZW5hYmxlX21lbnRpb25zX2luX3JlcG9zdHMiOnRydWUsImtldmxhcl9ub19hdXRvc2Nyb2xsX29uX3BsYXlsaXN0X2hvdmVyIjp0cnVlLCJsaXZlX2NoYXRfY29udGludWF0aW9uc19taWdyYXRpb24iOnRydWUsImVuYWJsZV9wb3N0X3NjaGVkdWxpbmciOnRydWUsInNlcnZlX3BkcF9hdF9jYW5vbmljYWxfdXJsIjp0cnVlLCJ5b29kbGVfZW5kX3RpbWUiOiIiLCJmbHVzaF9vbmJlZm9yZXVubG9hZCI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX3BsYXliYWNrIjp0cnVlLCJpc19wYXJ0X29mX2FueV91c2VyX2VuZ2FnZW1lbnRfZXhwZXJpbWVudCI6dHJ1ZSwiZW5hYmxlX3NlcnZsZXRfZXJyb3JzX3N0cmVhbXoiOnRydWUsImNvbGRfbWlzc2luZ19oaXN0b3J5Ijp0cnVlLCJrZXZsYXJfdGh1bWJuYWlsX292ZXJsYXlfbmV3X2VsZW1lbnRwb29sX3NjaGVkdWxlIjp0cnVlLCJrZXZsYXJfcGxheWxpc3RfY29sbGFwc2libGUiOnRydWUsImtldmxhcl9jbGVhbl91cCI6dHJ1ZSwia2V2bGFyX3RpbWVfY2FjaGluZ19zdGFydF90aHJlc2hvbGQiOjE1LCJuZXR3b3JrbGVzc195dGlkYl92ZXJzaW9uIjoxLCJrZXZsYXJfbWluaXBsYXllcl9zZXRfZWxlbWVudF9lYXJseSI6dHJ1ZSwic2tpcF9pbml0X3ByZXZpZXdfc2VsZWN0aW9uIjp0cnVlLCJsaXZlX2NoYXRfb3Zlcl9wbGF5bGlzdCI6dHJ1ZSwiZGlzYWJsZV90aHVtYm5haWxfcHJlbG9hZGluZyI6dHJ1ZSwibGl2ZV9jaGF0X3VzZV95b3V0dWJlX2hvc3RlZF90YW5nb19kb21haW5zIjp0cnVlLCJrZXZsYXJfcXVldWVfdXNlX3VwZGF0ZV9hcGkiOnRydWUsInNlcnZpY2Vfd29ya2VyX2VuYWJsZWQiOnRydWUsImVuYWJsZV9zaWduYWxzIjp0cnVlLCJsb2dfd2ViX2VuZHBvaW50X3RvX2xheWVyIjp0cnVlLCJrZXZsYXJfbW91c2Vkb3duX3ByZWZldGNoIjp0cnVlLCJrZXZsYXJfcGxheWVyX3BsYXlsaXN0X3VzZV9sb2NhbF9pbmRleCI6dHJ1ZSwiZGVmZXJfbWVudXMiOnRydWUsIndlYl9yZXNwb25zZV9wcm9jZXNzb3Jfc3VwcG9ydCI6dHJ1ZSwicG9wdXBfZm9yX3NpZ25fb3V0X3JlcG9ydF9wbGF5bGlzdCI6dHJ1ZSwiZW5hYmxlX2Nvb2tpZV9yZWlzc3VlX2lmcmFtZSI6dHJ1ZSwiZW5hYmxlX2RvY2tlZF9jaGF0X21lc3NhZ2VzIjp0cnVlLCJ3ZWJfc3lzdGVtX2hlYWx0aF9mcmFjdGlvbiI6MC4wMSwia2V2bGFyX2NsZWFyX25vbl9kaXNwbGF5YWJsZV91cmxfcGFyYW1zIjp0cnVlLCJlbmFibGVfbGNyX25ld19oZWFkZXIiOnRydWUsImtldmxhcl9jb2xsZWN0X2hvdmVyX3RvdWNoX3N1cHBvcnQiOnRydWUsImd1aWRlX2J1c2luZXNzX2luZm9fY291bnRyaWVzIjpbIktSIl0sImtldmxhcl93YXRjaF9jb2xvcl91cGRhdGUiOnRydWUsImVuYWJsZV9hbHBhY2FfY2xpZW50X3BsYXllcl9jaGFuZ2VzIjp0cnVlLCJrZXZsYXJfb3BfcGFnZV9zZXJ2aWNlX3NlYXJjaCI6dHJ1ZSwic3BmX2tldmxhcl9hc3N1bWVfY2h1bmtlZCI6dHJ1ZSwia2V2bGFyX2pzX2ZpeGVzIjp0cnVlLCJyZWNvbW1lbmRlZF92aWRlb19yZW9yZGVyaW5nIjp0cnVlLCJkaXNhYmxlX2xlZ2FjeV9kZXNrdG9wX3JlbW90ZV9xdWV1ZV93YXRjaCI6dHJ1ZSwiYXV0b3BsYXlfdGltZSI6ODAwMCwiY3VzdG9tX2NzaV90aW1lbGluZV91c2VfZ2VsIjp0cnVlLCJrZXZsYXJfc2VydmVfdW52ZXJzaW9uZWRfYmluYXJ5Ijp0cnVlLCJjb25zZW50X3VybF9vdmVycmlkZSI6IiIsImRlc2t0b3Bfc2VhcmNoX3Byb21pbmVudF90aHVtYnMiOnRydWUsImtldmxhcl9taXhfaGFuZGxlX2ZpcnN0X2VuZHBvaW50X2RpZmZlcmVudCI6dHJ1ZSwicG9seW1lcjJfbm90X3NoYWR5X2J1aWxkIjp0cnVlLCJrZXZsYXJfaTE4bl9saWJyYXJ5Ijp0cnVlLCJzaG93X2dob3N0X2NhcmRfY29udGludWF0aW9ucyI6MCwiaGlnaF9wcmlvcml0eV9mbHlvdXRfZnJlcXVlbmN5IjozLCJrZXZsYXJfYWRkX3RvX3F1ZXVlX29wdGlvbiI6dHJ1ZSwia2V2bGFyX21pbmlwbGF5ZXJfZXhwYW5kX3RvcCI6dHJ1ZSwia2V2bGFyX2luY2x1ZGVfcXVlcnlfaW5fc2VhcmNoX2VuZHBvaW50Ijp0cnVlLCJuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cyI6MSwicmljaF9ncmlkX21pbmlfbW9kZSI6dHJ1ZSwid2ViX2NsaWVudF9jb3VudGVyX3JhbmRvbV9zZWVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9zdWJzY3JpYmVfd2l0aF92YXBpZF9rZXkiOnRydWUsInBsYXllcl9hbGxvd19hdXRvbmF2X2FmdGVyX3BsYXlsaXN0Ijp0cnVlLCJtaW5pbXVtX2R1cmF0aW9uX3RvX2NvbnNpZGVyX21vdXNlb3Zlcl9hc19ob3ZlciI6NTAwLCJwcmV2aWV3X3BsYXlfZHVyYXRpb24iOjMwMDAsImtldmxhcl9wYWdlX3NlcnZpY2VfdXJsX3ByZWZpeF9jYXJ2ZW91dHMiOltdLCJrZXZsYXJfZGlzYWJsZV9odG1sX2ltcG9ydHMiOnRydWUsImtldmxhcl93YXRjaF9pbmNyZWFzZWRfd2lkdGhfdGhyZXNob2xkIjp0cnVlLCJrZXZsYXJfdGh1bWJuYWlsX2ZsdWlkIjp0cnVlLCJsaXZlX2NoYXRfdXNlX2ZldGNoX2NvbW1hbmQiOnRydWUsImtldmxhcl9iYWNrZ3JvdW5kX2NvbG9yX3VwZGF0ZSI6dHJ1ZSwicmVuZGVyX3NjaGVtYV9vcmdfYWxidW0iOnRydWUsImRlc2t0b3Bfc2VhcmNoX3Byb21pbmVudF90aHVtYnNfc3R5bGUiOiJERUZBVUxUIiwid2ViX2RvbnRfY2FuY2VsX3BlbmRpbmdfbmF2aWdhdGlvbl9zYW1lX3VybCI6dHJ1ZSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX3JlY292ZXIiOnRydWUsInlvb2RsZV9kYXRlX292ZXJyaWRlX2RlYnVnIjoiIiwia2V2bGFyX2hvbWVfa2V5Ym9hcmRfc2Nyb2xsX2Rpc3RhbmNlIjowLCJrZXZsYXJfbGF6eV9saXN0X3Jlc3VtZV9mb3JfYXV0b2ZpbGwiOnRydWUsImtldmxhcl9vcF9icm93c2Vfc2FtcGxlZF9wcmVmaXhfaWRzIjpbXSwidXNlX3dhdGNoX2ZyYWdtZW50czIiOnRydWUsImtldmxhcl9zZXR0aW5nc19hZHZhbmNlZCI6dHJ1ZSwicmVuZGVyX21ldGFfZ2VuZXJhbF90YWdzIjp0cnVlLCJ3ZWJfc2hvd19yZWdleF9lcnJvcl90ZXh0YXJlYSI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbl9idXR0b25fc2hvd25fdGhyZXNob2xkIjoxMCwia2V2bGFyX3NldHRpbmdzX2JpbGxpbmciOnRydWUsImtldmxhcl9zYXZlX3F1ZXVlIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9kZWxheV9taWNyb3NlY29uZHMiOjM4ODgwMDAwMDAwMDAsInJlbG9hZF93aXRob3V0X3BvbHltZXJfaW5uZXJ0dWJlIjp0cnVlLCJndWlkZV9sZWdhbF9mb290ZXJfZW5hYmxlZF9jb3VudHJpZXMiOlsiTkwiLCJFUyJdLCJhdXRvZXNjYXBlX3RlbXBkYXRhX3VybCI6dHJ1ZSwia2V2bGFyX29wX2luZnJhIjp0cnVlLCJlbmFibGVfd2F0Y2hfbmV4dF9wYXVzZV9hdXRvcGxheV9sYWN0Ijp0cnVlLCJrZXZsYXJfZ2FpYV9saW5rIjp0cnVlLCJrZXZsYXJfbWVhbGJhcl9hYm92ZV9wbGF5ZXIiOnRydWUsImtldmxhcl9jb3B5X3BsYXlsaXN0Ijp0cnVlLCJ5b29kbGVfYWx0X3RleHRfbG9jYWxlIjoiIiwieW9vZGxlX2FsdF90ZXh0IjoiIiwiZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21fcG9seW1lcl9uZXR3b3JrX21hbmFnZXIiOnRydWUsImRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbiI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX25vdGlmaWNhdGlvbnMiOnRydWUsImNhbmNlbF9wZW5kaW5nX25hdnMiOnRydWUsImtldmxhcl93YXRjaF9kcmFnX2hhbmRsZXMiOnRydWUsImtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlIjp0cnVlLCJrZXZsYXJfaW5saW5lZF9odG1sX3RlbXBsYXRlc19wb2x5bWVyX2ZsYWdzIjp0cnVlLCJrZXZsYXJfYXV0b25hdl9taW5pcGxheWVyX2ZpeCI6dHJ1ZSwicGxheWVyX2Jvb3RzdHJhcF9tZXRob2QiOnRydWUsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWwiOjMwMDAwLCJlbmFibGVfcG9seW1lcl9yZXNpbl9taWdyYXRpb24iOnRydWUsImRlc2t0b3Bfbm90aWZpY2F0aW9uX3NldF90aXRsZV9iYXIiOnRydWUsInlvb2RsZV9lbmRfdGltZV91dGMiOjE2MDM4NzkxOTksIndlYl9sb2dfYXBwX2luc3RhbGxfZXhwZXJpbWVudHMiOnRydWUsInVzZXJfZW5nYWdlbWVudF9leHBlcmltZW50c19yYXRlX2xpbWl0X21zIjo4NjQwMDAwMCwiYWRkX2RldmljZV90aGVtZV9wcmVmZXJlbmNlX3dlYiI6dHJ1ZSwia2V2bGFyX2NlbnRlcl9zZWFyY2hfcmVzdWx0cyI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdXNlX2VuZHBvaW50X2Zvcl9jaGFubmVsX2NyZWF0aW9uX2Zvcm0iOnRydWUsInVzZV9wbGF5ZXJfcGFyYW1zX2Zvcl9wYXNzaW5nX2Rlc2t0b3BfY29udmVyc2lvbl91cmxzIjp0cnVlLCJrZXZsYXJfY2hhbm5lbF90cmFpbGVyX211bHRpX2F0dGFjaCI6dHJ1ZSwiaHRtbDVfZm9yY2VfZGVidWdfZGF0YV9mb3JfY2xpZW50X3RtcF9sb2dzIjp0cnVlLCJlbmFibGVfbWVtYmVyc2hpcHNfYW5kX3B1cmNoYXNlcyI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX292ZXJ2aWV3Ijp0cnVlLCJyaWNoX2dyaWQiOnRydWUsImtldmxhcl9ub191cmxfcGFyYW1zIjp0cnVlLCJ3ZWJfb3BfZW5kcG9pbnRfYmFubGlzdCI6W10sImxvZ19qc19lcnJvcl9jbHVzdGVycyI6MS4wLCJ3ZWJfcGxheWVyX3RvdWNoX21vZGVfaW1wcm92ZW1lbnRzIjp0cnVlLCJlbmFibGVfc3RyZWFtbGluZV9yZXBvc3RfZmxvdyI6dHJ1ZSwiZGVza3RvcF9wb2x5bWVyX3ZpZGVvX21hc3RoZWFkX3Nlc3Npb25fdGVtcGRhdGFfdHRsIjozMCwiZGVza3RvcF93ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJlbmFibGVfb2ZmZXJfc3VwcHJlc3Npb24iOnRydWUsImtldmxhcl9lbmFibGVfcmVvcmRlcmFibGVfcGxheWxpc3RzIjp0cnVlLCJrZXZsYXJfd2F0Y2hfanNfcGFuZWxfaGVpZ2h0Ijp0cnVlLCJleHRlcm5hbF9mdWxsc2NyZWVuX2J1dHRvbl9jbGlja190aHJlc2hvbGQiOjIsImtldmxhcl9taW5pcGxheWVyX3NldF93YXRjaF9uZXh0Ijp0cnVlLCJlbmFibGVfbWFzdGhlYWRfcXVhcnRpbGVfcGluZ19maXgiOnRydWUsInBsYXllcl9lbmFibGVfcGxheWJhY2tfcGxheWxpc3RfY2hhbmdlIjp0cnVlLCJib3RndWFyZF9ldmFsX3dpdGhfc2NyaXB0X3RhZyI6dHJ1ZSwiYm90Z3VhcmRfcGVyaW9kaWNfcmVmcmVzaCI6dHJ1ZSwicmVuZGVyX2Jhc2VfdGFnc19ob21lX3BhZ2UiOnRydWUsImdmZWVkYmFja19mb3Jfc2lnbmVkX291dF91c2Vyc19lbmFibGVkIjp0cnVlLCJkZXNrdG9wX3B5dl9vbl93YXRjaF9vdmVycmlkZV9sYWN0Ijp0cnVlLCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIjp0cnVlLCJuZXR3b3JrbGVzc19yZXF1ZXN0X2FnZV9saW1pdCI6MzAsImtldmxhcl91c2VfeXRkX3BsYXllciI6dHJ1ZSwicGxheWVyX2RvdWJsZXRhcF90b19zZWVrIjp0cnVlLCJkZXNrdG9wX2NsaWVudF9yZWxlYXNlIjp0cnVlLCJrZXZsYXJfZGlzYWJsZV9iYWNrZ3JvdW5kX3ByZWZldGNoIjp0cnVlLCJodG1sNV9lbmFibGVfYWRzX2NsaWVudF9tb25pdG9yaW5nX2xvZyI6dHJ1ZSwia2V2bGFyX2N0cmxfdGFwX2ZpeCI6dHJ1ZSwieW9vZGxlX3N0YXJ0X3RpbWUiOiIiLCJrZXZsYXJfb3BfcGFnZV9zZXJ2aWNlX2Jyb3dzZSI6dHJ1ZSwid2ViX25ldHdvcmtfY29tYmluZWRfY2F0Y2giOnRydWUsImtldmxhcl9lbmFibGVfc2xpcyI6dHJ1ZSwiZW5hYmxlX3ZlX3RyYWNrZXJfa2V5Ijp0cnVlLCJpZ25vcmVfZW1wdHlfeGhyIjp0cnVlLCJkZWZlcl9yZW5kZXJpbmdfb3V0c2lkZV92aXNpYmxlX2FyZWEiOnRydWUsImtldmxhcl91c2VfYWxwaGFfaW5fY29sb3JfcGFsZXR0ZXMiOnRydWUsInBvbHltZXJfd2FybV90aHVtYm5haWxfcHJlbG9hZCI6dHJ1ZSwicGRnX2VuYWJsZV9zaWduX2luX21vZGFsX2Zvcl9zdXBlcl92b2QiOnRydWUsInBvbHltZXIyX2VsZW1lbnRfcG9vbF9wcm9wZXJ0aWVzIjp0cnVlLCJrZXZsYXJfdXNlX3Jlc3BvbnNlX3R0bF90b19pbnZhbGlkYXRlX2NhY2hlIjp0cnVlLCJrZXZsYXJfYWJhbmRvbl9vbl9zdG9wIjp0cnVlLCJodG1sNV9jb250cm9sX2Zsb3dfaW5jbHVkZV90cmlnZ2VyX2xvZ2dpbmdfaW5fdG1wX2xvZ3MiOnRydWUsImtldmxhcl9vcF9taWdyYXRpb25feXBjIjp0cnVlLCJrZXZsYXJfcXVldWVfdXNlX2RlZGljYXRlZF9saXN0X3R5cGUiOnRydWUsInNraXBfZW5kcG9pbnRfcGFyYW1fY29tcGFyaXNvbiI6dHJ1ZSwicmV0cnlfd2ViX2xvZ2dpbmdfYmF0Y2hlcyI6dHJ1ZSwia2V2bGFyX21vdXNlZG93bl9wcmVmZXRjaGFibGVfY29tcG9uZW50cyI6WyJ5dGQtcGxheWxpc3QtdmlkZW8tcmVuZGVyZXIiLCJ5dGQtZ3JpZC12aWRlby1yZW5kZXJlciIsInl0ZC1jb21wYWN0LXZpZGVvLXJlbmRlcmVyIiwieXRkLXZpZGVvLXJlbmRlcmVyIiwieXRkLXBsYXlsaXN0LXBhbmVsLXZpZGVvLXJlbmRlcmVyIl0sImRlc2t0b3Bfc2VhcmNoX3N1Z2dlc3Rpb25fdGFwX3RhcmdldCI6MCwia2V2bGFyX2NsaWVudF9zaWRlX3NjcmVlbnMiOnRydWV9LCJHQVBJX0hJTlRfUEFSQU1TIjoibTtcL19cL3Njc1wvYWJjLXN0YXRpY1wvX1wvanNcL2s9Z2FwaS5nYXBpLmVuLjlLeTVHZjNnUDBvLk9cL2Q9MVwvY3Q9emdtc1wvcnM9QUhwT29vOW50Z1VnYVZtU0t4YjZvWHNrMTExODgwYWR5Z1wvbT1fX2ZlYXR1cmVzX18iLCJST09UX1ZFX1RZUEUiOjM4MzIsIklOTkVSVFVCRV9DT05URVhUX0dMIjoiQlIiLCJJTk5FUlRVQkVfQVBJX0tFWSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsIkNMSUVOVF9UUkFOU1BPUlQiOiJ0Y3AiLCJHQVBJX0xPQ0FMRSI6InB0X0JSIiwiTEFURVNUX0VDQVRDSEVSX1NFUlZJQ0VfVFJBQ0tJTkdfUEFSQU1TIjp7ImNsaWVudC5uYW1lIjoiV0VCIn0sIkdBUElfSE9TVCI6Imh0dHBzOlwvXC9hcGlzLmdvb2dsZS5jb20iLCJBU1lOQ19XQVRDSCI6dHJ1ZSwiU0lHTklOX1VSTCI6Imh0dHBzOlwvXC9hY2NvdW50cy5nb29nbGUuY29tXC9TZXJ2aWNlTG9naW4/Y29udGludWU9aHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4lM0ZhY3Rpb25faGFuZGxlX3NpZ25pbiUzRHRydWUlMjZhcHAlM0RkZXNrdG9wJTI2ZmVhdHVyZSUzRF9fRkVBVFVSRV9fJTI2aGwlM0RwdCUyNm5leHQlM0QlMjUyRndhdGNoJTI1M0Z2JTI1M0RTVWtYdlduMW03UVx1MDAyNmhsPXB0LUJSXHUwMDI2cGFzc2l2ZT10cnVlXHUwMDI2c2VydmljZT15b3V0dWJlXHUwMDI2dWlsZWw9MyIsIkRJU0FCTEVfWVRfSU1HX0RFTEFZX0xPQURJTkciOmZhbHNlLCJTVFMiOjE4NTYxLCJYU1JGX1RPS0VOIjoiUVVGRkxVaHFiV3hHVGtGWE5WTldkMVV4Vms5RVNFWlBibkZUVGxWUmEweE9kM3hCUTNKdGMwdHJiRkJGVEhwdVpsTkRlbmRoUjFCVU1UVlpTalpuWXpNNVgyVktXbFpIUmxkYWJDMU9Va0V0VkV4TmQyaGxlV1JqU1Zjek5sZENRWEJVWlVGeWJXVmxZbFF4YTFRMFIyWk1TMFphZVRkWWRsVlVWMGxDZDI5SFpWVnZNMEZTUkZwUk1tSk5OVGxQZEd4UE5scG5SRzl2WW1GdGJUTmZTak5sT0doWU5uRkdNRU5vYjJad016TTRiVk4wZDBJNGIyRkdXbkZHVUZSUWRFTkxRVkU9IiwiTE9HR0VEX0lOIjpmYWxzZSwiVklTSUJJTElUWV9USU1FX0JFVFdFRU5fSk9CU19NUyI6MTAwLCJOT19FTVBUWV9EQVRBX0lNRyI6dHJ1ZSwiUExBWUVSX0pTX1VSTCI6Ilwvc1wvcGxheWVyXC85YjY1ZTk4MFwvcGxheWVyX2lhcy52ZmxzZXRcL3B0X0JSXC9iYXNlLmpzIiwiU0JPWF9TRVRUSU5HUyI6eyJWSVNJVE9SX0RBVEEiOiJDZ3RpYkhkNlpsbG5RMWh3TkNqX3otSDhCUSUzRCUzRCIsIlJFUVVFU1RfTEFOR1VBR0UiOiJwdCIsIlNFQVJDSEJPWF9IT1NUX09WRVJSSURFIjoiIiwiSVNfUE9MWU1FUiI6dHJ1ZSwiU0VORF9WSVNJVE9SX0RBVEEiOnRydWUsIlNFQVJDSEJPWF9UQVBfVEFSR0VUX0VYUEVSSU1FTlQiOjAsIlNFQVJDSEJPWF9FTkFCTEVfUkVGSU5FTUVOVF9TVUdHRVNUIjp0cnVlLCJSRVFVRVNUX0RPTUFJTiI6ImJyIiwiU0VBUkNIQk9YX0JFSEFWSU9SX0VYUEVSSU1FTlQiOiJ6ZXJvLXByZWZpeCIsIkhBU19PTl9TQ1JFRU5fS0VZQk9BUkQiOnRydWUsIlNFQVJDSEJPWF9aRVJPX1RZUElOR19TVUdHRVNUX1VTRV9SRUdVTEFSX1NVR0dFU1QiOiJhbHdheXMiLCJJU19GVVNJT04iOmZhbHNlfSwiSVNfVEFCTEVUIjpmYWxzZSwiSFRNTF9ESVIiOiJsdHIiLCJHT09HTEVfRkVFREJBQ0tfUFJPRFVDVF9JRCI6IjU5IiwiR09PR0xFX0ZFRURCQUNLX1BST0RVQ1RfREFUQSI6eyJwb2x5bWVyMiI6ImFjdGl2ZSIsInBvbHltZXIiOiJhY3RpdmUiLCJhY2NlcHRfbGFuZ3VhZ2UiOm51bGx9LCJJTk5FUlRVQkVfQVBJX1ZFUlNJT04iOiJ2MSIsIlBBR0VfQlVJTERfTEFCRUwiOiJ5b3V0dWJlLnl0ZmUuZGVza3RvcF8yMDIwMTAyMl8yX1JDMCIsIlJFQ0FQVENIQV9WM19TSVRFS0VZIjoiNkxlZG9PY1VBQUFBQUhBNENGRzl6UnBhQ05qWWozM1NZanpROWNUeSIsIlZPWl9BUElfS0VZIjoiQUl6YVN5QlUyeEVfSkh2QjZ3YWczdE1maHhYcGcyUV9XOHhuTS1JIiwiTElWRV9DSEFUX0JBU0VfVEFOR09fQ09ORklHIjp7ImFwaUtleSI6IkFJemFTeURaTmt5Qy1BdFJPd01CcExmZXZJdnFZay1HZmk4Wk9lbyIsInJlcXVpcmVzQXV0aFRva2VuIjp0cnVlLCJ1c2VOZXdUYW5nbyI6dHJ1ZSwiY2xpZW50VHlwZSI6MTA1Nywic2VuZGVyVXJpIjoiaHR0cHM6XC9cL2NsaWVudHM0Lmdvb2dsZS5jb21cL2ludmFsaWRhdGlvblwvbGNzXC9jbGllbnQiLCJjaGFubmVsVXJpIjoiaHR0cHM6XC9cL2NsaWVudC1jaGFubmVsLmdvb2dsZS5jb21cL2NsaWVudC1jaGFubmVsXC9jbGllbnQiLCJjbGllbnROYW1lIjoieXQtbGl2ZS1jaGF0LWFub24ifSwiQ09VTlRSWSI6IkJyYXNpbCIsIlhIUl9BUElBUllfSE9TVCI6InlvdXR1YmVpLnlvdXR1YmUuY29tIiwiRkVYUF9FWFBFUklNRU5UUyI6WzIzNzQ0MTc2LDIzODA0MjgxLDIzODM0NjExLDIzODM5NTk3LDIzODU2OTUwLDIzODU3OTQ4LDIzODU4MDU3LDIzODY4MzIwLDIzODc4NDE1LDIzODgwMDQzLDIzODgwODI5LDIzODgyNTAyLDIzODg0Mzg2LDIzODg1NTcyLDIzODkwOTU5LDIzODk1NjcxLDIzOTExMDU1LDIzOTE0NzQ5LDIzOTE1OTkxLDIzOTE4NTk3LDIzOTIwNzcwLDIzOTIwNzcwLDIzOTIxNTU0LDIzOTI3NzY3LDIzOTI3NzY3LDIzOTI4NTA4LDIzOTMwMjIwLDIzOTM0OTcwLDIzOTQyMzM4LDIzOTQyNDM1LDIzOTQyNjMzLDIzOTQ0Nzc5LDIzOTQ1NDc5LDIzOTQ2NDIwLDIzOTQ3Njk4LDIzOTQ4ODQxLDIzOTUwMjczLDIzOTUwNTk3LDIzOTUxMTA3LDIzOTUxMTM4LDIzOTUxNjIxLDIzOTU1MzczLDIzOTU2NzU0LDIzOTYxMjkxLDIzOTYyOTIwLDIzOTYyOTYyLDIzOTYzNjE2LDIzOTYzNjYwLDI0NTkwMjkwLDk0NDkyNDNdLCJTVEFSVF9JTl9USEVBVEVSX01PREUiOmZhbHNlLCJMSVZFX0NIQVRfU0VORF9NRVNTQUdFX0FDVElPTiI6ImxpdmVfY2hhdFwvd2F0Y2hfcGFnZVwvc2VuZCIsIlZJU0lUT1JfREFUQSI6IkNndGliSGQ2WmxsblExaHdOQ2pfei1IOEJRJTNEJTNEIiwiREVWSUNFIjoiY2VuZz1VU0VSX0RFRklORUQiLCJFTEVNRU5UX1BPT0xfREVGQVVMVF9DQVAiOjc1LCJaV0lFQkFDS19QSU5HX1VSTFMiOlsiaHR0cHM6XC9cL3d3dy5nb29nbGUuY29tLmJyXC9wYWdlYWRcL2x2ej9ldnRpZD1BS0I3OGNnYWg3Umt2OGQ5MHJRdGU3MVB2akRLM1pGS3A0WjQxaGZzcHh3OTZMZ0RQZjNkWnM3c3BaOU1xZ3lzMnFaZnA4ZjBPd2pWZ3hxWE1kUUhCZlQ5SUZ4YVp6VFAxUVx1MDAyNnBnPXdhdGNoXHUwMDI2cmVxX3RzPTE2MDM4MjM2MTVcdTAwMjZzaWdoPUFLRnB5WVY0bURpYlJzS2FVRXdIYUhRLXZxRldKV0ZGSnciLCJodHRwczpcL1wvd3d3Lmdvb2dsZS5jb21cL3BhZ2VhZFwvbHZ6P2V2dGlkPUFLQjc4Y2l2T01JcXFacTZGckt4dzJzeEpYMFBmVGp2b2lPYkRDeUh1SDVwQjhteFRtV3RZNVVDTGwyWkpYMkkyYXRFb2ZOS0VNNFVQSHV1TUc5OXBPaHBiRjUwV29maDNRXHUwMDI2cGc9d2F0Y2hcdTAwMjZyZXFfdHM9MTYwMzgyMzYxNVx1MDAyNnNpZ2g9QUtGcHlZVk04ZzA0OGVNdlV2a1p1N3NtUE14WHlmTE1kUSJdLCJFVkVOVF9JRCI6Il8yZVlYN25mQTRHaXdRVEp3S2FvQ1EiLCJQQUdFX0NMIjozMzg0NDM5MTAsIkxBTkdVQUdFIjoiUG9ydHVndcOqcyIsIlNFUlZJQ0VfV09SS0VSX1BST01QVF9OT1RJRklDQVRJT05TIjpmYWxzZSwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiOjEsIkRFRkVSUkVEX0RFVEFDSCI6dHJ1ZSwiVkFSSUFOVFNfQ0hFQ0tTVU0iOiJhOTUwNGU2ZGMzNTVkNmRlMTI5MjU4ZjRkZGYxZWQ0MSIsIkNMSUVOVF9QUk9UT0NPTCI6IkhUVFBcLzEuMSJ9KTt5dGNmZy5zZXQoIlNCT1hfTEFCRUxTIiwgeyJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmVyIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdlc3TDo28gcmVtb3ZpZGEifSk7dmFyIHNldE1lc3NhZ2UgPSBmdW5jdGlvbihtc2cpIHtpZiAod2luZG93Lnl0ICYmIHl0LnNldE1zZykge3l0LnNldE1zZyhtc2cpO30gZWxzZSB7d2luZG93Lnl0Y2ZnID0gd2luZG93Lnl0Y2ZnIHx8IHt9O3l0Y2ZnLm1zZ3MgPSBtc2c7fX07c2V0TWVzc2FnZSh7J1NJR05fSU5fTEFCRUwnOiAiRmF6ZXIgbG9naW4iLCdTSEFSRV9MQUJFTCc6ICJDb21wYXJ0aWxoYXIiLCdHVUlERV9BTFRfTEFCRUwnOiAiR3VpYSIsJ0xPR09fQUxUX0xBQkVMJzogIlDDoWdpbmEgaW5pY2lhbCBkbyBZb3VUdWJlIiwnQkFDS19BTFRfTEFCRUwnOiAiVm9sdGFyIiwnQ0hPT1NFX0NPVU5UUllfTEFCRUwnOiAiU2VsZWNpb25lIHNldSBsb2NhbCIsJ0NPVU5UUllfTEFCRUwnOiAiTG9jYWw6IiwnQ0hPT1NFX0xBTkdVQUdFX0xBQkVMJzogIlNlbGVjaW9uZSBzZXUgaWRpb21hIiwnTEFOR1VBR0VfTEFCRUwnOiAiSWRpb21hOiIsJ1RJTUVaT05FX0ZPUk1BVCc6ICIoJHV0Y19vZmZzZXRfdGV4dCkgJGNpdHlfbmFtZSIsJ0xPQ0FMX1RJTUVfTEFCRUwnOiAiSG9yYSBsb2NhbCIsJ0xPQ0FMX1RJTUVfR01UX0xBQkVMJzogIkhvcsOhcmlvIGxvY2FsICgkZ210X3RleHQpIiwnVVRDX09GRlNFVF9GT1JNQVQnOiAiR01UJHV0Y19vZmZzZXQiLCdFTlRFUl9EQVRFX09SX0VBUkxJRVInOiAiSW5zaXJhICRhbGxvd2VkX2RhdGUgb3UgdW1hIGRhdGEgYW50ZXJpb3IiLCdFTlRFUl9EQVRFX09SX0xBVEVSJzogIkluc2lyYSAkYWxsb3dlZF9kYXRlIG91IHVtIGhvcsOhcmlvIHBvc3RlcmlvciIsJ0lOVkFMSURfREFURV9FUlJPUic6ICJEYXRhIGludsOhbGlkYSIsJ09GRic6ICJEZXNhdGl2YWRvIiwnT04nOiAiQXRpdmFkbyIsJ1JFU1RSSUNURURfTU9ERV9MQUJFTCc6ICJNb2RvIHJlc3RyaXRvOiIsJ1JFU1RSSUNURURfTU9ERV9URVhUX0xJTkVfMSc6ICJPIE1vZG8gcmVzdHJpdG8gb2N1bHRhIHbDrWRlb3MgcXVlIHBvZGVtIGNvbnRlciBjb250ZcO6ZG8gaW5hZGVxdWFkbywgc2luYWxpemFkbyBwb3IgdXN1w6FyaW9zIG91IG91dHJvcyBpbmRpY2Fkb3Jlcy4gTmVuaHVtIGZpbHRybyDDqSAxMDAlIHByZWNpc28sIG1hcyBkZXZlIGFqdWRhciB2b2PDqiBhIGV2aXRhciBhIG1haW9yaWEgZG9zIGNvbnRlw7pkb3MgaW5hZGVxdWFkb3MuIiwnUkVTVFJJQ1RFRF9NT0RFX1RFWFRfTElORV8yJzogIkEgY29uZmlndXJhw6fDo28gZG8gTW9kbyByZXN0cml0byBzZXLDoSBhcGxpY2FkYSBzb21lbnRlIGEgZXN0ZSBuYXZlZ2Fkb3IuIiwnUkVTVFJJQ1RFRF9NT0RFX1RJVExFJzogIk1vZG8gcmVzdHJpdG8iLCdJTUFHRV9IT1JJWk9OVEFMX1BPU0lUSU9OX0xBQkVMJzogIk8gY2VudHJvIGRhIHZpc3VhbGl6YcOnw6NvIGVzdMOhIGEgJHhfcGVyY2VudCUgZGEgZXNxdWVyZGEgZSBhJHlfcGVyY2VudCUgZGEgZGlyZWl0YS4iLCdJTUFHRV9WRVJUSUNBTF9QT1NJVElPTl9MQUJFTCc6ICJPIGNlbnRybyBkYSB2aXN1YWxpemHDp8OjbyBlc3TDoSBhICR4X3BlcmNlbnQlIGRhIHBhcnRlIHN1cGVyaW9yIGUgYSR5X3BlcmNlbnQlIGRhIHBhcnRlIGluZmVyaW9yLiIsJ1JFUE9TSVRJT05fSU1BR0VfSE9SSVpPTlRBTExZX0xBQkVMJzogIlVzZSBhcyB0ZWNsYXMgZGUgc2V0YSBlc3F1ZXJkYSBlIGRpcmVpdGEgcGFyYSBwb3NpY2lvbmFyIGEgdmlzdWFsaXphw6fDo28iLCdSRVBPU0lUSU9OX0lNQUdFX1ZFUlRJQ0FMTFlfTEFCRUwnOiAiVXNlIGFzIHRlY2xhcyBkZSBzZXRhIHBhcmEgY2ltYSBlIHBhcmEgYmFpeG8gcGFyYSBwb3NpY2lvbmFyIGEgdmlzdWFsaXphw6fDo28iLCdSRUFDSF9UT1BfT0ZfSU1BR0VfVEVYVCc6ICJWb2PDqiBhbGNhbsOnb3UgYSBwYXJ0ZSBzdXBlcmlvciBkYSBpbWFnZW0iLCdSRUFDSF9CT1RUT01fT0ZfSU1BR0VfVEVYVCc6ICJWb2PDqiBhbGNhbsOnb3UgYSBwYXJ0ZSBpbmZlcmlvciBkYSBpbWFnZW0iLCdSRUFDSF9MRUZUX09GX0lNQUdFX1RFWFQnOiAiVm9jw6ogYWxjYW7Dp291IG8gbGFkbyBlc3F1ZXJkbyBkYSBpbWFnZW0iLCdSRUFDSF9SSUdIVF9PRl9JTUFHRV9URVhUJzogIlZvY8OqIGFsY2Fuw6dvdSBvIGxhZG8gZGlyZWl0byBkYSBpbWFnZW0iLCdTQk9YX1BMQUNFSE9MREVSJzogIlBlc3F1aXNhciIsJ1NCT1hfSU5BUFBST1BSSUFURV9QUk9NUFQnOiAiRGVudW5jaWFyIHByZXZpc8O1ZXMgZGUgZW5xdWV0ZSIsJ1NCT1hfSU5BUFBST1BSSUFURV9USVRMRSc6ICJEZW51bmNpYXIgcHJldmlzw7VlcyBkZSBlbnF1ZXRlIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1NVR0dFU1RJT05TJzogIlNlbGVjaW9uZSBhcyBwcmV2aXPDtWVzIHF1ZSB2b2PDqiBxdWVyIGRlbnVuY2lhcjoiLCdTQk9YX0lOQVBQUk9QUklBVEVfQ0FURUdPUlknOiAiTyBjb250ZcO6ZG8gZGFzIHByZXZpc8O1ZXMgc2VsZWNpb25hZGFzOiIsJ1NCT1hfSU5BUFBST1BSSUFURV9IQVRFRlVMJzogImluY2l0YSBhbyDDs2RpbyIsJ1NCT1hfSU5BUFBST1BSSUFURV9FWFBMSUNJVCc6ICLDqSBzZXh1YWxtZW50ZSBleHBsw61jaXRvIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1ZJT0xFTlQnOiAiY29udMOpbSB2aW9sw6puY2lhIiwnU0JPWF9JTkFQUFJPUFJJQVRFX0RBTkdFUk9VUyc6ICJjb250w6ltIGF0aXZpZGFkZXMgcGVyaWdvc2FzIG91IG5vY2l2YXMiLCdTQk9YX0lOQVBQUk9QUklBVEVfT1RIRVInOiAib3V0cm8iLCdTQk9YX0lOQVBQUk9QUklBVEVfUkVBU09OJzogIk1vdGl2byAob2JyaWdhdMOzcmlvKSIsJ1NCT1hfSU5BUFBST1BSSUFURV9BRERJVElPTkFMJzogIkZvcm5lw6dhIG1haXMgZGV0YWxoZXMgKG9wY2lvbmFsKSIsJ1NCT1hfSU5BUFBST1BSSUFURV9TVUJNSVQnOiAiRW52aWFyIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1JFUE9SVCc6ICJEZW51bmNpYXIiLCdTQk9YX0lOQVBQUk9QUklBVEVfQ0FOQ0VMJzogIkNhbmNlbGFyIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1RPQVNUJzogIkFncmFkZWNlbW9zIHNldSBmZWVkYmFjay4iLCdTQk9YX1ZPSUNFX09WRVJMQVlfUExBQ0VIT0xERVInOiAiT3V2aW5kb+KApiIsJ0FERF9UT19EUk9QRE9XTl9MQUJFTCc6ICJTYWx2YXIgZW0uLi4iLCdSRVFVSVJFRF9MQUJFTCc6ICJPYnJpZ2F0w7NyaW8iLCdOT19BTkdMRV9CUkFDS0VUX0xBQkVMJzogIk8gbm9tZSBkYSBwbGF5bGlzdCBuw6NvIHBvZGUgY29udGVyIFx1MDAzYyBvdSBcdTAwM2VcbiIsJ0VESVRfQVZBVEFSX0xBQkVMJzogIkVkaXRhciBmb3RvIGRvIHBlcmZpbCIsJ0FEX0JBREdFX1RFWFQnOiAiQW7Dum5jaW8iLCdFRFVfR09UX0lUJzogIk9rIiwnTUlOSVBMQVlFUl9DT0xMQVBTRV9MQUJFTCc6ICJSZWNvbGhlciIsJ01JTklQTEFZRVJfRVhQQU5EX0xBQkVMJzogIkV4cGFuZGlyIiwnUVVFVUUnOiAiRmlsYSIsJ0FEREVEX1RPX1FVRVVFJzogIkFkaWNpb25hZG8gw6AgZmlsYSIsJ1FVRVVFX0NMRUFSRUQnOiB7ImNhc2UxIjogIjEgdlx1MDBlZGRlbyByZW1vdmlkbyBkYSBmaWxhIiwgIm90aGVyIjogIiMgdlx1MDBlZGRlb3MgcmVtb3ZpZG9zIGRhIGZpbGEiLCAib25lIjogIiMgdlx1MDBlZGRlbyByZW1vdmlkbyBkYSBmaWxhIn0sJ1FVRVVFX0NMRUFSRURfVU5QTFVSQUxJWkVEJzoiRmlsYSB2YXppYSIsJ01JTklQTEFZRVJfQ0xPU0UnOiAiRmVjaGFyIHBsYXllciIsJ1FVRVVFX0NMT1NFX01JTklQTEFZRVJfQ09ORklSTV9USVRMRSc6ICJBIGZpbGEgc2Vyw6EgZXhjbHXDrWRhIiwnUVVFVUVfQ0xPU0VfTUlOSVBMQVlFUl9DT05GSVJNX0JPRFlfVEVYVCc6ICJWb2PDqiBxdWVyIG1lc21vIGZlY2hhciBvIHBsYXllcj8iLCdRVUVVRV9SRUNPVkVSX0JVVFRPTic6ICJSZWF0aXZhciIsJ1FVRVVFX1JFQ09WRVJfTUVTU0FHRSc6ICJSZWN1cGVyYXIgYSBmaWxhIiwnQ0xFQVInOiAiTGltcGFyIiwnVU5ETyc6ICJEZXNmYXplciIsJ0NBTkNFTCc6ICJDYW5jZWxhciIsJ1NVQlNfRklMVEVSX0VEVV9URVhUJzogIlZlamEgbm92b3MgdsOtZGVvcyBkZSBjYWRhIGNhbmFsIiwnU1VCU19HVUlERV9JVEVNX0VEVV9URVhUJzogIlZlamEgbm92b3MgdsOtZGVvcyBkZSB0b2RhcyBhcyBzdWFzIGluc2NyacOnw7VlcyIsJ1NVQlNfRklMVEVSX0VEVV9DSEFOTkVMX1RFWFQnOiAiTW9zdHJhbmRvIG5vdm9zIHbDrWRlb3MgZGVzdGUgY2FuYWwuIiwnTElCUkFSWV9HVUlERV9JVEVNX0VEVV9USVRMRSc6ICJWZWphIHN1YSBub3ZhIGJpYmxpb3RlY2EiLCdMSUJSQVJZX0dVSURFX0lURU1fRURVX1RFWFQnOiAiRW5jb250cmUgc2V1IGhpc3TDs3JpY28sIHBsYXlsaXN0cywgY29tcHJhcyBlIG11aXRvIG1haXMiLCdNRU5USU9OU19FRFVfVElUTEUnOiAiU2FpYmEgbWFpcyIsJ01FTlRJT05TX0VEVV9URVhUJzogIkFjZXNzZSBhIENlbnRyYWwgZGUgQWp1ZGEgcGFyYSB2ZXIgY29tbyBhcyBtZW7Dp8O1ZXMgZnVuY2lvbmFtIG5vIFlvdVR1YmUuIiwnTk9fSU5URVJORVRfQ09OTkVDVElPTic6ICJTZW0gY29uZXjDo28gw6AgSW50ZXJuZXQiLCdDT05ORUNUX1RPX1RIRV9JTlRFUk5FVCc6ICJDb25lY3RlLXNlIMOgIEludGVybmV0IiwnT0ZGTElORV9DSEVDS19DT05ORUNUSU9OJzogIlZvY8OqIGVzdMOhIG9mZi1saW5lLiBWZXJpZmlxdWUgc3VhIGNvbmV4w6NvLiIsJ1JFVFJZJzogIlRlbnRhciBub3ZhbWVudGUiLCdKT0lOX01FTUJFUlNISVBfRURVX1RJVExFJzogIkFzc2luYXR1cmEiLCdKT0lOX01FTUJFUlNISVBfRURVX1RFWFQnOiAiR2FuaGUgYmVuZWbDrWNpb3MgZXhjbHVzaXZvcyBhbyBzZSB0b3JuYXIgbWVtYnJvIGRlc3RlIGNhbmFsLiIsJ1NIQVJFX1BPU1RfRURVX1RFWFQnOiAiQWdvcmEsIHZvY8OqIHBvZGUgY29tcGFydGlsaGFyIHBvc3RhZ2VucyBubyBZb3VUdWJlIiwnRlJFRUJJRV9KT0lOX01FTUJFUlNISVBfRURVX1RFWFQnOiAiRXN0ZSBjYW5hbCBvZmVyZWNlIHVtYSBhc3NpbmF0dXJhIHF1ZSB2b2PDqiBwb2RlIGFwcm92ZWl0YXIgZ3JhdHVpdGFtZW50ZSBjb20gbyBZb3VUdWJlIFByZW1pdW0iLCdNQU5BR0VfTUVNQkVSU0hJUF9FRFVfVEVYVCc6ICJBY2Vzc2Ugc2V1cyBiZW5lZsOtY2lvcyBlIGdlcmVuY2llIHN1YSBhc3NpbmF0dXJhIGFxdWkuIn0pO30pKCk7eXRjZmcuc2V0KCdNRU5USU9OU19FRFVfSEVMUF9MSU5LJywgJ2h0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvP3A9Y3JlYXRvcl9jb21tdW5pdHknKTt5dGNmZy5zZXQoJ3NjaGVkdWxlcicsIHt1c2VSYWY6IHRydWUsIHRpbWVvdXQ6IDIwfSk7eXRjZmcuc2V0KCdpbml0aWFsSW5uZXJXaWR0aCcsIHdpbmRvdy5pbm5lcldpZHRoKTt5dGNmZy5zZXQoJ2luaXRpYWxJbm5lckhlaWdodCcsIHdpbmRvdy5pbm5lckhlaWdodCk7d2luZG93Lnl0Y2ZnLnNldCgnSVNfV0FUQ0hfUEFHRV9DT0xEJywgdHJ1ZSk7d2luZG93Lnl0Y2ZnLnNldCgnTElOS19BUElfS0VZJywgIkFJemFTeURvcGhBUXV5eWlCcjhoMG55cEV3WFVLb3pILUJFc3dEMCIpO3dpbmRvdy55dGNmZy5zZXQoJ0xJTktfR0FMX0RPTUFJTicsICJodHRwczpcL1wvYWNjb3VudGxpbmtpbmctcGEtY2xpZW50czYueW91dHViZS5jb20iKTt3aW5kb3cueXRjZmcuc2V0KCdMSU5LX09JU19ET01BSU4nLCAib2F1dGhpbnRlZ3JhdGlvbnMuZ29vZ2xlYXBpcy5jb20iKTtpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImxwY2YiLCBudWxsLCAnJyk7fTwvc2NyaXB0PiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3NjaGVkdWxlci52ZmxzZXQvc2NoZWR1bGVyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9InNjaGVkdWxlci9zY2hlZHVsZXIiID48L3NjcmlwdD4gIAogIDxzY3JpcHQgPgogICAgeXRjZmcuc2V0KHsiSU5ORVJUVUJFX0NPTlRFWFQiOnsiY2xpZW50Ijp7ImhsIjoicHQiLCJnbCI6IkJSIiwidmlzaXRvckRhdGEiOiJDZ3RpYkhkNlpsbG5RMWh3TkNqX3otSDhCUSUzRCUzRCIsInVzZXJBZ2VudCI6IlJ1YnksZ3ppcChnZmUpIiwiY2xpZW50TmFtZSI6IldFQiIsImNsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sInJlcXVlc3QiOnsic2Vzc2lvbklkIjoiNjg4ODM2OTk3NTI4MzUwOTQwOCJ9LCJhZFNpZ25hbHNJbmZvIjp7ImNvbnNlbnRCdW1wUGFyYW1zIjp7ImNvbnNlbnRIb3N0bmFtZU92ZXJyaWRlIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20iLCJ1cmxPdmVycmlkZSI6IiJ9fX19KTsKICA8L3NjcmlwdD4KICAKPHNjcmlwdCAgc3JjPSIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJwbGF5ZXJfaWFzL2Jhc2UiID48L3NjcmlwdD4gIAo8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImNzbCIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CiAgPHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iID5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1JvYm90byBJdGFsaWMnKSxsb2NhbCgnUm9ib3RvLUl0YWxpYycpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4SUl6Yy50dGYpZm9ybWF0KCd0cnVldHlwZScpO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjUwMDtzcmM6bG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPakNucUV1OTJGcjFNdTUxUzdBQ2M2Q3NFLnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSxsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTRteFAudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7c3JjOmxvY2FsKCdSb2JvdG8gTWVkaXVtJyksbG9jYWwoJ1JvYm90by1NZWRpdW0nKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbUVVOWZCQmM5LnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiA+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiUCIpO2RvY3VtZW50LmZvbnRzLmxvYWQoIjUwMCAxMHB0IFJvYm90byIsICJQIik7fTwvc2NyaXB0Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1ZVCUyMFNhbnMlM0EzMDAlMkM1MDAlMkM3MDAiIG5hbWU9Ind3dy13ZWJmb250LXl0LXNhbnMiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiBuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciIgaWQ9InBsYXllci1jc3MiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2Nzc2Jpbi93d3ctbWFpbi1kZXNrdG9wLXBsYXllci1za2VsZXRvbi5jc3MiIG5hbWU9Ind3dy1tYWluLWRlc2t0b3AtcGxheWVyLXNrZWxldG9uIj48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9jc3NiaW4vd3d3LW1haW4tZGVza3RvcC13YXRjaC1wYWdlLXNrZWxldG9uLmNzcyIgbmFtZT0id3d3LW1haW4tZGVza3RvcC13YXRjaC1wYWdlLXNrZWxldG9uIj48c3R5bGUgbmFtZT0iZ2xvYmFsX3N0eWxlcyI+Ym9keXtwYWRkaW5nOjA7bWFyZ2luOjA7b3ZlcmZsb3cteTpzY3JvbGx9Ym9keS5hdXRvc2Nyb2xse292ZXJmbG93LXk6YXV0b31ib2R5Lm5vLXNjcm9sbHtvdmVyZmxvdzpoaWRkZW59Ym9keS5uby15LXNjcm9sbHtvdmVyZmxvdy15OmhpZGRlbn0uaGlkZGVue2Rpc3BsYXk6bm9uZX10ZXh0YXJlYXstLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dF8tX3doaXRlLXNwYWNlOnByZS13cmFwfS5ncmVjYXB0Y2hhLWJhZGdle3Zpc2liaWxpdHk6aGlkZGVufTwvc3R5bGU+PHN0eWxlIG5hbWU9Im1hc3RoZWFkX3NoZWxsIj55dGQtbWFzdGhlYWQuc2hlbGx7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOTgpO3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7bGVmdDowO2Rpc3BsYXk6LW1zLWZsZXg7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2hlaWdodDo1NnB4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9eXRkLW1hc3RoZWFkLnNoZWxsICNtZW51LWljb257bWFyZ2luLWxlZnQ6MTZweH15dGQtYXBwPnl0ZC1tYXN0aGVhZC5jaHVua2Vke3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCV9eXRkLW1hc3RoZWFkLnNoZWxsLmRhcmsseXRkLW1hc3RoZWFkLnNoZWxsLnRoZWF0ZXJ7YmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuOTgpfXl0ZC1tYXN0aGVhZC5zaGVsbC5mdWxsLXdpbmRvdy1tb2Rle2JhY2tncm91bmQ6cmdiYSg0MCw0MCw0MCwwLjk4KTtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMTAwJSAtIDVweCkpfXl0ZC1tYXN0aGVhZC5zaGVsbD4qOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoxNnB4fXl0ZC1tYXN0aGVhZC5zaGVsbD4qOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDoxNnB4fXl0ZC1tYXN0aGVhZCAjbWFzdGhlYWQtbG9nb3tkaXNwbGF5Oi1tcy1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH15dGQtbWFzdGhlYWQgI21hc3RoZWFkLWxvZ28gI2NvdW50cnktY29kZXttYXJnaW4tcmlnaHQ6MnB4fXl0ZC1tYXN0aGVhZC5zaGVsbCAjeXQtbG9nby1zdmcseXRkLW1hc3RoZWFkLnNoZWxsICN5dC1sb2dvLXJlZC1zdmd7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luLWxlZnQ6OHB4O3BhZGRpbmc6MDtjb2xvcjpibGFja315dGQtbWFzdGhlYWQuc2hlbGwgI2ExMXktc2tpcC1uYXZ7ZGlzcGxheTpub25lfXl0ZC1tYXN0aGVhZC5zaGVsbCBzdmd7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDttYXJnaW4tcmlnaHQ6OHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojNjA2MDYwO2ZpbGw6Y3VycmVudENvbG9yfXl0ZC1tYXN0aGVhZCAuZXh0ZXJuYWwtaWNvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fXl0ZC1tYXN0aGVhZCAueXQtaWNvbnMtZXh0e2ZpbGw6Y3VycmVudENvbG9yO2NvbG9yOiM2MDYwNjB9eXRkLW1hc3RoZWFkLnNoZWxsLmRhcmsgLnl0LWljb25zLWV4dCB5dGQtbWFzdGhlYWQuc2hlbGwudGhlYXRlciAueXQtaWNvbnMtZXh0e2ZpbGw6I2ZmZn15dGQtbWFzdGhlYWQgc3ZnI3l0LWxvZ28tc3Zne3dpZHRoOjgwcHh9eXRkLW1hc3RoZWFkIHN2ZyN5dC1sb2dvLXJlZC1zdmd7d2lkdGg6MTA2LjRweH1AbWVkaWEgKG1heC13aWR0aDo2NTZweCl7eXRkLW1hc3RoZWFkLnNoZWxsPio6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjhweH15dGQtbWFzdGhlYWQuc2hlbGw+KjpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6OHB4fXl0ZC1tYXN0aGVhZC5zaGVsbCBzdmd7bWFyZ2luLXJpZ2h0OjB9eXRkLW1hc3RoZWFkICNtYXN0aGVhZC1sb2dvey1tcy1mbGV4OjEgMSAuMDAwMDAwMDAxcHg7LXdlYmtpdC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtZmxleC1iYXNpczouMDAwMDAwMDAxcHg7ZmxleC1iYXNpczouMDAwMDAwMDAxcHh9eXRkLW1hc3RoZWFkLnNoZWxsICN5dC1sb2dvLXN2Zyx5dGQtbWFzdGhlYWQuc2hlbGwgI3l0LWxvZ28tcmVkLXN2Z3ttYXJnaW4tbGVmdDo0cHh9fUBtZWRpYSAobWluLXdpZHRoOjg3NnB4KXt5dGQtbWFzdGhlYWQgI21hc3RoZWFkLWxvZ297d2lkdGg6MTI5cHh9fSNtYXN0aGVhZC1za2VsZXRvbi1pY29uc3tkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9eXRkLW1hc3RoZWFkLm1hc3RoZWFkLWZpbmlzaCAjbWFzdGhlYWQtc2tlbGV0b24taWNvbnN7ZGlzcGxheTpub25lfS5tYXN0aGVhZC1za2VsZXRvbi1pY29ue2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWFyZ2luOjAgOHB4O2JhY2tncm91bmQtY29sb3I6aHNsKDAsMCUsODklKX15dGQtbWFzdGhlYWQuZGFyayAubWFzdGhlYWQtc2tlbGV0b24taWNvbntiYWNrZ3JvdW5kLWNvbG9yOmhzbCgwLDAlLDE2JSl9PC9zdHlsZT48c3R5bGUgbmFtZT0ibWFzdGhlYWRfY3VzdG9tX3N0eWxlcyIgaXM9ImN1c3RvbS1zdHlsZSIgIGlkPSJleHQtc3R5bGVzIiA+eXRkLW1hc3RoZWFkIC55dC1pY29ucy1leHR7Y29sb3I6dmFyKC0teXQtc3BlYy1pY29uLWFjdGl2ZS1vdGhlcil9eXRkLW1hc3RoZWFkIHN2ZyN5dC1sb2dvLXN2ZyAjeW91dHViZS1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZCBzdmcjeXQtbG9nby1yZWQtc3ZnICN5b3V0dWJlLXJlZC1wYXRocyBwYXRoe2ZpbGw6IzI4MjgyOH15dGQtbWFzdGhlYWQuZGFyayBzdmcjeXQtbG9nby1zdmcgI3lvdXR1YmUtcGF0aHMgcGF0aCx5dGQtbWFzdGhlYWQuZGFyayBzdmcjeXQtbG9nby1yZWQtc3ZnICN5b3V0dWJlLXJlZC1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZC50aGVhdGVyIHN2ZyN5dC1sb2dvLXN2ZyAjeW91dHViZS1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZC50aGVhdGVyIHN2ZyN5dC1sb2dvLXJlZC1zdmcgI3lvdXR1YmUtcmVkLXBhdGhzIHBhdGh7ZmlsbDojZmZmfTwvc3R5bGU+PHN0eWxlIG5hbWU9InNlYXJjaGJveCI+I3NlYXJjaC1pbnB1dC55dGQtc2VhcmNoYm94LXNwdCBpbnB1dHstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO2NvbG9yOmluaGVyaXQ7Zm9udC1mYW1pbHk6J1JvYm90bycsJ05vdG8nLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luLWxlZnQ6NHB4O21heC13aWR0aDoxMDAlO291dGxpbmU6bm9uZTt0ZXh0LWFsaWduOmluaGVyaXQ7d2lkdGg6MTAwJTstbXMtZmxleDoxIDEgLjAwMDAwMDAwMXB4Oy13ZWJraXQtZmxleDoxO2ZsZXg6MTstd2Via2l0LWZsZXgtYmFzaXM6LjAwMDAwMDAwMXB4O2ZsZXgtYmFzaXM6LjAwMDAwMDAwMXB4fSNzZWFyY2gtY29udGFpbmVyLnl0ZC1zZWFyY2hib3gtc3B0e3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9I3NlYXJjaC1pbnB1dC55dGQtc2VhcmNoYm94LXNwdCAjc2VhcmNoOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCNzZWFyY2gtaW5wdXQueXRkLXNlYXJjaGJveC1zcHQgI3NlYXJjaDo6LW1vei1pbnB1dC1wbGFjZWhvbGRlciwjc2VhcmNoLWlucHV0Lnl0ZC1zZWFyY2hib3gtc3B0ICNzZWFyY2g6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOmhzbCgwLDAlLDUzLjMlKX08L3N0eWxlPjxzdHlsZSBuYW1lPSJrZXZsYXJfZ2xvYmFsX3N0eWxlcyI+aHRtbHtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5ZjkhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDpub25lfWh0bWxbZGFya117YmFja2dyb3VuZC1jb2xvcjojMTgxODE4IWltcG9ydGFudH0jbG9nby1yZWQtaWNvbi1jb250YWluZXIueXRkLXRvcGJhci1sb2dvLXJlbmRlcmVye3dpZHRoOjg2cHh9PC9zdHlsZT48c3R5bGUgbmFtZT0iZW1lcmdlbmN5Y3NzZXhwIj4KICAgICAgCiAgICAgIAogICAgPC9zdHlsZT48bGluayByZWw9InNlYXJjaCIgdHlwZT0iYXBwbGljYXRpb24vb3BlbnNlYXJjaGRlc2NyaXB0aW9uK3htbCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vb3BlbnNlYXJjaD9sb2NhbGU9cHRfQlIiIHRpdGxlPSJZb3VUdWJlIj48bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvcy9ub3RpZmljYXRpb25zL21hbmlmZXN0L21hbmlmZXN0Lmpzb24iIGNyb3Nzb3JpZ2luPSJ1c2UtY3JlZGVudGlhbHMiPjwhLS0gZW5kIG9mIGNodW5rIC0tPiAgICAgICAgPHNjcmlwdCA+CiAgICAgICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJiYyIsIG51bGwsICcnKTt9ICAgICAgICB2YXIgeXRpbWcgPSB7fTt5dGltZy5jb3VudCA9IDE7eXRpbWcucHJlbG9hZCA9IGZ1bmN0aW9uKHNyYykge3ZhciBpbWcgPSBuZXcgSW1hZ2UoKTt2YXIgY291bnQgPSArK3l0aW1nLmNvdW50O3l0aW1nW2NvdW50XSA9IGltZztpbWcub25sb2FkID0gaW1nLm9uZXJyb3IgPSBmdW5jdGlvbigpIHtkZWxldGUgeXRpbWdbY291bnRdO307aW1nLnNyYyA9IHNyYzt9OwogICAgICAgICAgeXRpbWcucHJlbG9hZCgiaHR0cHM6XC9cL3I1LS0tc24tb3h1bnhnOHBqdm4tMnY1ZS5nb29nbGV2aWRlby5jb21cL2dlbmVyYXRlXzIwNCIpOwogICAgICAgICAgeXRpbWcucHJlbG9hZCgiaHR0cHM6XC9cL3I1LS0tc24tb3h1bnhnOHBqdm4tMnY1ZS5nb29nbGV2aWRlby5jb21cL2dlbmVyYXRlXzIwND9jb25uMiIpOwogICAgICA8L3NjcmlwdD4KCiAgCiAgICAKICA8ZGl2IGlkPSJwbGF5ZXIiIGNsYXNzPSJza2VsZXRvbiI+CiAgICAgIDxkaXYgaWQ9InBsYXllci1hcGkiIGNsYXNzPSJwbGF5ZXItd2lkdGggcGxheWVyLWhlaWdodCBvZmYtc2NyZWVuLXRhcmdldCBwbGF5ZXItYXBpIj48L2Rpdj4KICAgICAgICAKICA8L2Rpdj4KCiAgPCEtLSBlbmQgb2YgY2h1bmsgLS0+CiAgICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImFpIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICA8eXRkLWFwcCBkaXNhYmxlLXVwZ3JhZGU9InRydWUiPgogICAgPHl0ZC1tYXN0aGVhZCBpZD0ibWFzdGhlYWQiIHNsb3Q9Im1hc3RoZWFkIiBjbGFzcz0ic2hlbGwgIGNodW5rZWQiZGlzYWJsZS11cGdyYWRlPSJ0cnVlIj48ZGl2IGlkPSJzZWFyY2gtY29udGFpbmVyIiBjbGFzcz0ieXRkLXNlYXJjaGJveC1zcHQiIHNsb3Q9InNlYXJjaC1jb250YWluZXIiPjwvZGl2PjxkaXYgaWQ9InNlYXJjaC1pbnB1dCIgY2xhc3M9Inl0ZC1zZWFyY2hib3gtc3B0IiBzbG90PSJzZWFyY2gtaW5wdXQiPjxpbnB1dCBpZD0ic2VhcmNoIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvbXBsZXRlPSJvZmYiYXV0b2NvcnJlY3Q9Im9mZiIgIGhpZGRlbiBuYW1lPSJzZWFyY2hfcXVlcnkiIHRhYmluZGV4PSIwInR5cGU9InRleHQiIHNwZWxsY2hlY2s9ImZhbHNlIj48L2Rpdj48c3ZnIGlkPSJtZW51LWljb24iIGNsYXNzPSJleHRlcm5hbC1pY29uIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij48ZyBpZD0ibWVudSIgY2xhc3M9Inl0LWljb25zLWV4dCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyAxOGgxOHYtMkgzdjJ6bTAtNWgxOHYtMkgzdjJ6bTAtN3YyaDE4VjZIM3oiLz48L2c+PC9zdmc+PGRpdiBpZD0ibWFzdGhlYWQtbG9nbyIgc2xvdD0ibWFzdGhlYWQtbG9nbyI+ICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyI+CiAgICA8c3ZnIGlkPSJ5dC1sb2dvLXN2ZyIgY2xhc3M9ImV4dGVybmFsLWljb24iIHZpZXdCb3g9IjAgMCAyMDAgNjAiPgogICAgICA8ZyBpZD0ieXQtbG9nbyIgdmlld0JveD0iMCAwIDIwMCA2MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+CiAgICAgICAgPGc+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjRkYwMDAwIiBkPSJNNjMsMTQuODdjLTAuNzItMi43LTIuODUtNC44My01LjU2LTUuNTZDNTIuNTQsOCwzMi44OCw4LDMyLjg4LDhTMTMuMjMsOCw4LjMyLDkuMzEKICAgICAgICAgICAgYy0yLjcsMC43Mi00LjgzLDIuODUtNS41Niw1LjU2QzEuNDUsMTkuNzcsMS40NSwzMCwxLjQ1LDMwczAsMTAuMjMsMS4zMSwxNS4xM2MwLjcyLDIuNywyLjg1LDQuODMsNS41Niw1LjU2CiAgICAgICAgICAgIEMxMy4yMyw1MiwzMi44OCw1MiwzMi44OCw1MnMxOS42NiwwLDI0LjU2LTEuMzFjMi43LTAuNzIsNC44My0yLjg1LDUuNTYtNS41NkM2NC4zMSw0MC4yMyw2NC4zMSwzMCw2NC4zMSwzMAogICAgICAgICAgICBTNjQuMzEsMTkuNzcsNjMsMTQuODd6Ii8+CiAgICAgICAgICA8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjI2LjYsMzkuNDMgNDIuOTMsMzAgMjYuNiwyMC41NyIvPgogICAgICAgIDwvZz4KICAgICAgICA8Zz4KICAgICAgICAgIDxnIGlkPSJ5b3V0dWJlLXBhdGhzIj4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTkyLjY5LDQ4LjAzYy0xLjI0LTAuODQtMi4xMy0yLjE0LTIuNjUtMy45MWMtMC41Mi0xLjc3LTAuNzktNC4xMi0wLjc5LTcuMDZ2LTQKICAgICAgICAgICAgICBjMC0yLjk3LDAuMy01LjM1LDAuOS03LjE1YzAuNi0xLjgsMS41NC0zLjExLDIuODEtMy45M2MxLjI3LTAuODIsMi45NC0xLjI0LDUuMDEtMS4yNGMyLjA0LDAsMy42NywwLjQyLDQuOSwxLjI2CiAgICAgICAgICAgICAgYzEuMjMsMC44NCwyLjEzLDIuMTUsMi43LDMuOTNjMC41NywxLjc4LDAuODUsNC4xNiwwLjg1LDcuMTJ2NGMwLDIuOTQtMC4yOCw1LjMtMC44Myw3LjA4Yy0wLjU1LDEuNzgtMS40NSwzLjA5LTIuNywzLjkxCiAgICAgICAgICAgICAgYy0xLjI0LDAuODItMi45MywxLjI0LTUuMDYsMS4yNEM5NS42NSw0OS4yOSw5My45Myw0OC44Nyw5Mi42OSw0OC4wM3ogTTk5LjY2LDQzLjcxYzAuMzQtMC45LDAuNTItMi4zNywwLjUyLTQuNHYtOC41OQogICAgICAgICAgICAgIGMwLTEuOTgtMC4xNy0zLjQyLTAuNTItNC4zNGMtMC4zNC0wLjkxLTAuOTUtMS4zNy0xLjgyLTEuMzdjLTAuODQsMC0xLjQzLDAuNDYtMS43OCwxLjM3Yy0wLjM0LDAuOTEtMC41MiwyLjM2LTAuNTIsNC4zNHY4LjU5CiAgICAgICAgICAgICAgYzAsMi4wNCwwLjE2LDMuNTEsMC40OSw0LjRjMC4zMywwLjksMC45MywxLjM1LDEuOCwxLjM1Qzk4LjcxLDQ1LjA2LDk5LjMxLDQ0LjYxLDk5LjY2LDQzLjcxeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTg4LjE2LDM3LjEzdjEuMzljMCwxLjc3LDAuMDUsMy4wOSwwLjE2LDMuOThjMC4xLDAuODgsMC4zMiwxLjUzLDAuNjUsMS45MwogICAgICAgICAgICAgIGMwLjMzLDAuNCwwLjg0LDAuNjEsMS41MywwLjYxYzAuOTMsMCwxLjU3LTAuMzYsMS45MS0xLjA4YzAuMzQtMC43MiwwLjUzLTEuOTIsMC41Ni0zLjZsNS4zNSwwLjMxCiAgICAgICAgICAgICAgYzAuMDMsMC4yNCwwLjA0LDAuNTcsMC4wNCwwLjk5YzAsMi41NS0wLjcsNC40NS0yLjA5LDUuNzFjLTEuMzksMS4yNi0zLjM2LDEuODktNS45MSwxLjg5Yy0zLjA2LDAtNS4yLTAuOTYtNi40My0yLjg4CiAgICAgICAgICAgICAgYy0xLjIzLTEuOTItMS44NC00Ljg4LTEuODQtOC45di00LjgxYzAtNC4xNCwwLjY0LTcuMTUsMS45MS05LjA2YzEuMjctMS45LDMuNDUtMi44NSw2LjU0LTIuODVjMi4xMywwLDMuNzYsMC4zOSw0LjksMS4xNwogICAgICAgICAgICAgIGMxLjE0LDAuNzgsMS45NCwxLjk5LDIuNDEsMy42NGMwLjQ2LDEuNjUsMC43LDMuOTMsMC43LDYuODN2NC43MkgxODguMTZ6IE0xODguOTUsMjUuNTNjLTAuMzEsMC4zOS0wLjUyLDEuMDMtMC42MywxLjkxCiAgICAgICAgICAgICAgYy0wLjExLDAuODgtMC4xNiwyLjIzLTAuMTYsNC4wMnYxLjk4aDQuNTR2LTEuOThjMC0xLjc3LTAuMDYtMy4xMS0wLjE4LTQuMDJjLTAuMTItMC45MS0wLjM0LTEuNTYtMC42NS0xLjkzCiAgICAgICAgICAgICAgYy0wLjMxLTAuMzctMC44LTAuNTYtMS40Ni0wLjU2QzE4OS43NSwyNC45NCwxODkuMjYsMjUuMTQsMTg4Ljk1LDI1LjUzeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNzcuNTksMzYuNjFsLTcuMDYtMjUuNDloNi4xNmwyLjQ3LDExLjU1YzAuNjMsMi44NSwxLjA5LDUuMjcsMS4zOSw3LjI4aDAuMTgKICAgICAgICAgICAgICBjMC4yMS0xLjQ0LDAuNjctMy44NSwxLjM5LTcuMjRsMi41Ni0xMS42aDYuMTZMODMuNywzNi42MXYxMi4yM2gtNi4xMVYzNi42MXoiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTEyNi40NSwyMS4yOHYyNy41NWgtNC44NWwtMC41NC0zLjM3aC0wLjEzYy0xLjMyLDIuNTUtMy4zLDMuODItNS45MywzLjgyYy0xLjgzLDAtMy4xOC0wLjYtNC4wNS0xLjgKICAgICAgICAgICAgICBjLTAuODctMS4yLTEuMy0zLjA3LTEuMy01LjYyVjIxLjI4aDYuMnYyMC4yM2MwLDEuMjMsMC4xMywyLjExLDAuNCwyLjYzYzAuMjcsMC41MiwwLjcyLDAuNzksMS4zNSwwLjc5CiAgICAgICAgICAgICAgYzAuNTQsMCwxLjA2LTAuMTYsMS41NS0wLjQ5YzAuNDktMC4zMywwLjg2LTAuNzUsMS4xLTEuMjZWMjEuMjhIMTI2LjQ1eiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTU4LjI3LDIxLjI4djI3LjU1aC00Ljg1bC0wLjU0LTMuMzdoLTAuMTNjLTEuMzIsMi41NS0zLjMsMy44Mi01LjkzLDMuODJjLTEuODMsMC0zLjE4LTAuNi00LjA1LTEuOAogICAgICAgICAgICAgIGMtMC44Ny0xLjItMS4zLTMuMDctMS4zLTUuNjJWMjEuMjhoNi4ydjIwLjIzYzAsMS4yMywwLjEzLDIuMTEsMC40LDIuNjNjMC4yNywwLjUyLDAuNzIsMC43OSwxLjM1LDAuNzkKICAgICAgICAgICAgICBjMC41NCwwLDEuMDYtMC4xNiwxLjU1LTAuNDljMC40OS0wLjMzLDAuODYtMC43NSwxLjEtMS4yNlYyMS4yOEgxNTguMjd6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xNDMuMzEsMTYuMTFoLTYuMTZ2MzIuNzJoLTYuMDdWMTYuMTFoLTYuMTZ2LTQuOTloMTguMzhWMTYuMTF6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xNzguOCwyNS42OWMtMC4zOC0xLjc0LTAuOTgtMy0xLjgyLTMuNzhjLTAuODQtMC43OC0xLjk5LTEuMTctMy40Ni0xLjE3Yy0xLjE0LDAtMi4yLDAuMzItMy4xOSwwLjk3CiAgICAgICAgICAgICAgYy0wLjk5LDAuNjQtMS43NSwxLjQ5LTIuMjksMi41NGgtMC4wNWwwLTE0LjUyaC01Ljk4djM5LjExaDUuMTJsMC42My0yLjYxaDAuMTNjMC40OCwwLjkzLDEuMiwxLjY2LDIuMTYsMi4yCiAgICAgICAgICAgICAgYzAuOTYsMC41NCwyLjAyLDAuODEsMy4xOSwwLjgxYzIuMSwwLDMuNjQtMC45Nyw0LjYzLTIuOWMwLjk5LTEuOTMsMS40OC00Ljk1LDEuNDgtOS4wNnYtNC4zNgogICAgICAgICAgICAgIEMxNzkuMzYsMjkuODQsMTc5LjE3LDI3LjQzLDE3OC44LDI1LjY5eiBNMTczLjExLDM2LjkzYzAsMi4wMS0wLjA4LDMuNTgtMC4yNSw0LjcyYy0wLjE2LDEuMTQtMC40NCwxLjk1LTAuODMsMi40MwogICAgICAgICAgICAgIGMtMC4zOSwwLjQ4LTAuOTEsMC43Mi0xLjU3LDAuNzJjLTAuNTEsMC0wLjk4LTAuMTItMS40Mi0wLjM2Yy0wLjQzLTAuMjQtMC43OS0wLjYtMS4wNi0xLjA4VjI3LjcxCiAgICAgICAgICAgICAgYzAuMjEtMC43NSwwLjU3LTEuMzYsMS4wOC0xLjg0YzAuNTEtMC40OCwxLjA2LTAuNzIsMS42Ni0wLjcyYzAuNjMsMCwxLjEyLDAuMjUsMS40NiwwLjc0YzAuMzQsMC40OSwwLjU4LDEuMzMsMC43MiwyLjQ5CiAgICAgICAgICAgICAgYzAuMTMsMS4xNywwLjIsMi44MywwLjIsNC45OVYzNi45M3oiLz4KICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICAgIDwvZz4KICAgIDwvc3ZnPgogIDwvZGl2PgogIDxkaXYgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgIDxzdmcgaWQ9Inl0LWxvZ28tcmVkLXN2ZyIgY2xhc3M9ImV4dGVybmFsLWljb24iIHZpZXdCb3g9IjAgMCA5OCAyNCIgc3R5bGU9IndpZHRoOjg2cHg7Ij4KICAgICAgPGcgaWQ9Inl0LWxvZ28tcmVkIiB2aWV3Qm94PSIwIDAgOTggMjQiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgogICAgICAgIDxnPgogICAgICAgICAgPHBhdGggZmlsbD0iI0ZGMDAwMCIgZD0iTTI4LjQsNS4xMmMtMC4zNC0xLjI0LTEuMzEtMi4yLTIuNTUtMi41MkMyMy42MiwyLDE0LjY4LDIsMTQuNjgsMlM1Ljc1LDIsMy41MiwyLjYKICAgICAgICAgICAgQzIuMjksMi45MywxLjMzLDMuODksMSw1LjEyQzAuNTksNy4zOSwwLjM5LDkuNjksMC40LDEyYy0wLjAxLDIuMzEsMC4xOSw0LjYxLDAuNiw2Ljg4YzAuMzMsMS4yMywxLjI5LDIuMTksMi41MiwyLjUyCiAgICAgICAgICAgIEM1Ljc1LDIyLDE0LjY4LDIyLDE0LjY4LDIyczguOTMsMCwxMS4xNi0wLjZjMS4yNC0wLjMyLDIuMjItMS4yOCwyLjU2LTIuNTJjMC40MS0yLjI3LDAuNjEtNC41NywwLjYtNi44OAogICAgICAgICAgICBDMjkuMDEsOS42OSwyOC44MSw3LjM5LDI4LjQsNS4xMnoiLz4KICAgICAgICAgIDxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTEuODMsMTYuMjkgMTkuMjUsMTIgMTEuODMsNy43MSIvPgogICAgICAgIDwvZz4KICAgICAgICA8ZyBpZD0ieW91dHViZS1yZWQtcGF0aHMiPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTQxLjY3LDguMzVWOWMwLDMuNDUtMS41Myw1LjQ4LTQuODgsNS40OGgtMC41MXY2aC0yLjc0VjMuNDJoMy40OUM0MC4yMiwzLjQyLDQxLjY3LDQuNzcsNDEuNjcsOC4zNXoKICAgICAgICAgICAgTTM4Ljc5LDguNmMwLTIuNDktMC40NS0zLjA5LTItMy4wOWgtMC41MXY3aDAuNDdjMS40NywwLDItMS4wNiwyLTMuMzdMMzguNzksOC42eiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTQ4LjE0LDcuODNMNDgsMTEuMDhjLTEuMTctMC4yNC0yLjEzLTAuMDgtMi42LDAuNjl2OC43OGgtMi42N1Y4aDIuMTdsMC4yNCwyLjcxaDAuMWMwLjI4LTIsMS4yLTMsMi4zOS0zCiAgICAgICAgICAgIEM0Ny44LDcuNzMsNDcuOTgsNy43Nyw0OC4xNCw3LjgzeiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTUxLjI3LDE1LjI1djAuNjNjMCwyLjIxLDAuMTIsMywxLjA2LDNzMS4xLTAuNjksMS4xMi0yLjEybDIuNDMsMC4xNGMwLjE4LDIuNy0xLjIzLDMuOS0zLjYxLDMuOQogICAgICAgICAgICBjLTIuOSwwLTMuNzYtMS45LTMuNzYtNS4zNXYtMi4yM2MwLTMuNjQsMS01LjQxLDMuODQtNS40MXMzLjY0LDEuNTEsMy42NCw1LjI5djIuMTVINTEuMjd6IE01MS4yNywxMi42N3YwLjloMi4wNnYtMC44OQogICAgICAgICAgICBjMC0yLjMtMC4xNi0zLTEtM3MtMSwwLjY3LTEsM0w1MS4yNywxMi42N3oiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik03MC4wMiwxMS4xdjkuNDZINjcuMnYtOS4yNWMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41NCwwLjAyLTEuMDIsMC4zNC0xLjI1LDAuODIKICAgICAgICAgICAgYzAuMDEsMC4xNywwLjAxLDAuMzQsMCwwLjUxdjkuNDZoLTIuNzl2LTkuMjZjMC0xLTAuMjctMS41My0wLjg4LTEuNTNjLTAuNTMsMC4wMi0xLDAuMzMtMS4yMywwLjh2MTBINTcuNFY4aDIuMjNsMC4yNSwxLjU5bDAsMAogICAgICAgICAgICBjMC41MS0xLjEyLDEuNjMtMS44NSwyLjg2LTEuODZjMS4wNS0wLjA3LDEuOTgsMC42NywyLjE2LDEuN2MwLjU1LTEuMDEsMS42MS0xLjY1LDIuNzYtMS42NkM2OS40LDcuNzgsNzAuMDIsOSw3MC4wMiwxMS4xeiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTcxLjQsNC44M2MwLTEuMzUsMC40OS0xLjc0LDEuNTMtMS43NHMxLjUzLDAuNDUsMS41MywxLjc0cy0wLjQ3LDEuNzQtMS41MywxLjc0UzcxLjQsNi4yMiw3MS40LDQuODN6CiAgICAgICAgICAgIE03MS41OSw4aDIuN3YxMi41NmgtMi43Vjh6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNODMuNSw4djEyLjU2aC0yLjJMODEuMDUsMTloLTAuMDZjLTAuNDYsMS4wOC0xLjUzLDEuNzctMi43LDEuNzRjLTEuNjcsMC0yLjQzLTEuMDYtMi40My0zLjM3VjhoMi44MgogICAgICAgICAgICB2OS4xOWMwLDEuMSwwLjIzLDEuNTUsMC44LDEuNTVjMC41Mi0wLjAyLDAuOTgtMC4zMywxLjItMC44VjhIODMuNXoiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik05Ny44LDExLjF2OS40NmgtMi44MnYtOS4yNWMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41NCwwLjAyLTEuMDIsMC4zNC0xLjI1LDAuODIKICAgICAgICAgICAgYzAuMDEsMC4xNywwLjAxLDAuMzQsMCwwLjUxdjkuNDZoLTIuNzl2LTkuMjZjMC0xLTAuMjctMS41My0wLjg4LTEuNTNjLTAuNTMsMC4wMi0xLDAuMzMtMS4yMywwLjh2MTBoLTIuODFWOGgyLjI2bDAuMjQsMS41OWwwLDAKICAgICAgICAgICAgYzAuNTEtMS4xMiwxLjYzLTEuODUsMi44Ni0xLjg2YzEuMDQtMC4wNywxLjk3LDAuNjQsMi4xNywxLjY2YzAuNTUtMC45OSwxLjYtMS42MSwyLjczLTEuNjJDOTcuMTUsNy43OCw5Ny44LDksOTcuOCwxMS4xeiIvPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9zdmc+CiAgPC9kaXY+CjxzcGFuIGlkPSJjb3VudHJ5LWNvZGUiPjwvc3Bhbj48L2Rpdj48ZGl2IGlkPSJtYXN0aGVhZC1za2VsZXRvbi1pY29ucyIgc2xvdD0ibWFzdGhlYWQtc2tlbGV0b24iPjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjwvZGl2PjwveXRkLW1hc3RoZWFkPgogICAgICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9hYm91dC8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+U29icmU8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWJvdXQvcHJlc3MvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkltcHJlbnNhPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fib3V0L2NvcHlyaWdodC8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+RGlyZWl0b3MgYXV0b3JhaXM8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iL3QvY29udGFjdF91cyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5FbnRyZSBlbSBjb250YXRvPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NyZWF0b3JzLyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5DcmlhZG9yZXMgZGUgY29udGXDumRvPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fkcy8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+UHVibGljaWRhZGU8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20veW91dHViZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5EZXNlbnZvbHZlZG9yZXM8L2E+CgogICAgICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Ii90L3Rlcm1zIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlRlcm1vczwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20uYnIvaW50bC9wdC1CUi9wb2xpY2llcy9wcml2YWN5LyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Qcml2YWNpZGFkZTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fib3V0L3BvbGljaWVzLyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Qb2zDrXRpY2EgZSBTZWd1cmFuw6dhPC9hPgogICAgPGEgc2xvdD0iZ3VpZGUtbGlua3Mtc2Vjb25kYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9ob3d5b3V0dWJld29ya3M/dXRtX2NhbXBhaWduPXl0Z2VuJmFtcDt1dG1fc291cmNlPXl0aHAmYW1wO3V0bV9tZWRpdW09TGVmdE5hdiZhbXA7dXRtX2NvbnRlbnQ9dHh0JmFtcDt1PWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGaG93eW91dHViZXdvcmtzJTNGdXRtX3NvdXJjZSUzRHl0aHAlMjZ1dG1fbWVkaXVtJTNETGVmdE5hdiUyNnV0bV9jYW1wYWlnbiUzRHl0Z2VuIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkNvbW8gZnVuY2lvbmEgbyBZb3VUdWJlPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iL25ldyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5UZXN0YXIgb3Mgbm92b3MgcmVjdXJzb3M8L2E+CgogICAgICA8ZGl2IGlkPSJ2YXQtbm90aWNlIiBzbG90PSJ2YXQtbm90aWNlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogIDwvZGl2PgoKICAgICAgPGRpdiBpZD0iY29weXJpZ2h0IiBzbG90PSJjb3B5cmlnaHQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICA8ZGl2IGRpcj0ibHRyIiBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiZjb3B5OyAyMDIwIEdvb2dsZSBMTEM8L2Rpdj4KICA8L2Rpdj4KCiAgPC95dGQtYXBwPgoKICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soIm5jX3BqIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICAgIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi9zcGYudmZsc2V0L3NwZi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJzcGYvc3BmIiA+PC9zY3JpcHQ+ICAKPHNjcmlwdCA+aWYgKHdpbmRvd1snX3NwZl9zdGF0ZSddKSB7d2luZG93Wydfc3BmX3N0YXRlJ10uY29uZmlnID0geyJhc3N1bWUtYWxsLWpzb24tcmVxdWVzdHMtY2h1bmtlZCI6dHJ1ZX07fTwvc2NyaXB0PiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL25ldHdvcmsudmZsc2V0L25ldHdvcmsuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0ibmV0d29yay9uZXR3b3JrIiA+PC9zY3JpcHQ+ICAKICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vd2ViLWFuaW1hdGlvbnMtbmV4dC1saXRlLm1pbi52ZmxzZXQvd2ViLWFuaW1hdGlvbnMtbmV4dC1saXRlLm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJ3ZWItYW5pbWF0aW9ucy1uZXh0LWxpdGUubWluL3dlYi1hbmltYXRpb25zLW5leHQtbGl0ZS5taW4iID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi93ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaC52ZmxzZXQvd2ViY29tcG9uZW50cy1saXRlLW5vUGF0Y2guanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0id2ViY29tcG9uZW50cy1saXRlLW5vUGF0Y2gvd2ViY29tcG9uZW50cy1saXRlLW5vUGF0Y2giID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi9mZXRjaC1wb2x5ZmlsbC52ZmxzZXQvZmV0Y2gtcG9seWZpbGwuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0iZmV0Y2gtcG9seWZpbGwvZmV0Y2gtcG9seWZpbGwiID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi93d3ctaTE4bi1jb25zdGFudHMtcHRfQlIudmZsc2V0L3d3dy1pMThuLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJ3d3ctaTE4bi1jb25zdGFudHMvd3d3LWkxOG4tY29uc3RhbnRzIiA+PC9zY3JpcHQ+ICAKICAgICAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJyc2JlX2RwaiIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CgoKPHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBsb2FkSlMgPSBmdW5jdGlvbihlKSB7aWYgKGUpIHt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignSFRNTEltcG9ydHNMb2FkZWQnLCBsb2FkSlMpO312YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7c2NyaXB0LnNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL2Rlc2t0b3BfcG9seW1lcl9pbmxpbmVkX2h0bWxfcG9seW1lcl9mbGFnc19sZWdhY3lfYnJvd3NlcnMudmZsc2V0L2Rlc2t0b3BfcG9seW1lcl9pbmxpbmVkX2h0bWxfcG9seW1lcl9mbGFnc19sZWdhY3lfYnJvd3NlcnMuanMiO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7dmFyIGxvYWRFdmVudCA9IG5ldyBFdmVudCgic2NyaXB0LWxvYWQtZHBqIik7d2luZG93LmRpc3BhdGNoRXZlbnQobG9hZEV2ZW50KTt9O307aWYgKHdpbmRvdy5IVE1MSW1wb3J0cyAmJiB3aW5kb3cuSFRNTEltcG9ydHMucmVhZHkpIHtsb2FkSlMoKTt9IGVsc2Uge3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdIVE1MSW1wb3J0c0xvYWRlZCcsIGxvYWRKUyk7fX0pKCk7PC9zY3JpcHQ+ICAgICAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJyc2FlX2RwaiIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CgogIAo8c2NyaXB0ID52YXIgc2NoZWR1bGVBcHBMb2FkPWZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcmlwdC1sb2FkLWRwaiIsc2NoZWR1bGVBcHBMb2FkKTtpZih3aW5kb3cueXRzaWduYWxzJiZ3aW5kb3cueXRzaWduYWxzLmdldEluc3RhbmNlKXt2YXIgYT13aW5kb3cueXRzaWduYWxzLmdldEluc3RhbmNlKCksYj1hLm9uQW55KFsiZW9pciIsImVvciJdKTthLnBhcmtPclNjaGVkdWxlSm9iKGFwcExvYWQsMyxiKX1lbHNlIGlmKGFwcExvYWQoKSxhPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LGE9LTE9PT1hLmluZGV4T2YoIm1zbmJvdCIpJiYtMT09PWEuaW5kZXhPZigiQmluZ1ByZXZpZXciKSYmLTE9PT1hLmluZGV4T2YoImJpbmdib3QiKSl3aW5kb3cub25lcnJvcigieXRzaWduYWxzIG1pc3NpbmciLCJhc3luY19hdHRhY2hfYXBwX2xvYWRlci5qcyIsMCwwLEVycm9yKCJ5dHNpZ25hbHMgbWlzc2luZyIpKX0sYXBwTG9hZD1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy55dGNzaTsKYSYmYS50aWNrKCJhcGFfYiIpO3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0ZC1hcHAiKSxjPWImJmIucXVlcnlTZWxlY3RvcigieXRkLW1hc3RoZWFkIik7YyYmYy5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGUtdXBncmFkZSIpO2ImJmIucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlLXVwZ3JhZGUiKTthJiZhLnRpY2soImFwYV9hIil9LHl0U2lnbmFscz13aW5kb3cueXRzaWduYWxzO3l0U2lnbmFscz9zY2hlZHVsZUFwcExvYWQoKTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2NyaXB0LWxvYWQtZHBqIixzY2hlZHVsZUFwcExvYWQpOwo8L3NjcmlwdD4gIAoKICA8c2NyaXB0ID4KICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYWMiLCBudWxsLCAnJyk7fQogICAgdmFyIG9uUG9seW1lclJlYWR5ID0gZnVuY3Rpb24oZSkgewogICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2NyaXB0LWxvYWQtZHBqJywgb25Qb2x5bWVyUmVhZHkpOwogICAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImFwciIsIG51bGwsICcnKTt9CiAgICB9CgogICAgaWYgKHdpbmRvdy5Qb2x5bWVyICYmIFBvbHltZXIuUmVuZGVyU3RhdHVzKSB7CiAgICAgIG9uUG9seW1lclJlYWR5KCk7CiAgICB9IGVsc2UgewogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2NyaXB0LWxvYWQtZHBqJywgb25Qb2x5bWVyUmVhZHkpOwogICAgfQoKICA8L3NjcmlwdD4KICA8IS0tIGVuZCBvZiBjaHVuayAtLT4KICAgIDxkaXYgaWQ9IndhdGNoLXBhZ2Utc2tlbGV0b24iIGNsYXNzPSJ3YXRjaC1za2VsZXRvbiAiPgogICAgPGRpdiBpZD0iY29udGFpbmVyIj4KICAgICAgPGRpdiBpZD0icmVsYXRlZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYXV0b3BsYXkgc2tlbGV0b24tbGlnaHQtYm9yZGVyLWJvdHRvbSI+CiAgICAgICAgICA8ZGl2IGlkPSJ1cG5leHQiIGNsYXNzPSJza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJpbmZvLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBpZD0icHJpbWFyeS1pbmZvIiBjbGFzcz0ic2tlbGV0b24tbGlnaHQtYm9yZGVyLWJvdHRvbSI+CiAgICAgICAgICA8ZGl2IGlkPSJ0aXRsZSIgY2xhc3M9InRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgPGRpdiBpZD0iaW5mbyI+CiAgICAgICAgICAgIDxkaXYgaWQ9ImNvdW50IiBjbGFzcz0idGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtMSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im1lbnUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9InNlY29uZGFyeS1pbmZvIiBjbGFzcz0ic2tlbGV0b24tbGlnaHQtYm9yZGVyLWJvdHRvbSI+CiAgICAgICAgICA8ZGl2IGlkPSJ0b3Atcm93Ij4KICAgICAgICAgICAgPGRpdiBpZD0idmlkZW8tb3duZXIiIGNsYXNzPSJmbGV4LTEiPgogICAgICAgICAgICAgIDxkaXYgaWQ9ImNoYW5uZWwtaWNvbiIgY2xhc3M9InNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGlkPSJ1cGxvYWQtaW5mbyIgY2xhc3M9ImZsZXgtMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJvd25lci1uYW1lIgogICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9InB1Ymxpc2hlZC1kYXRlIgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ic3Vic2NyaWJlLWJ1dHRvbiIgY2xhc3M9InNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiZ2NjIiwgbnVsbCwgJycpO308L3NjcmlwdD4gIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicGRjIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVNVa1h2V24xbTdRIj4KCiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRoZWxkIiBocmVmPSJodHRwczovL20ueW91dHViZS5jb20vd2F0Y2g/dj1TVWtYdlduMW03USI+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9Im9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkiIGhyZWY9Imh0dHBzOi8vbS55b3V0dWJlLmNvbS93YXRjaD92PVNVa1h2V24xbTdRIj4KICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0icmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSI+CgogICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQXByb3ZlaXRlIHbDrWRlb3MgZSBtw7pzaWNhIHF1ZSB2b2PDqiBhbWEsIGVudmllIGNvbnRlw7pkbyBvcmlnaW5hbCBlIGNvbXBhcnRpbGhlLW8gY29tIGFtaWdvcywgcGFyZW50ZXMgZSBvIG11bmRvIG5vIFlvdVR1YmUuIj4KICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJ2w61kZW8sIGNvbXBhcnRpbGhhbWVudG8sIGNlbHVsYXIgY29tIGPDom1lcmEsIHZpZGVvZm9uZSwgZ3JhdHVpdG8sIHVwbG9hZCI+CiAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9jb250aW51ZT1odHRwcyUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRnNpZ25pbiUzRmFjdGlvbl9oYW5kbGVfc2lnbmluJTNEdHJ1ZSUyNmFwcCUzRGRlc2t0b3AlMjZmZWF0dXJlJTNEcGFzc2l2ZSUyNmhsJTNEcHQlMjZuZXh0JTNEJTI1MkZzaWduaW5fcGFzc2l2ZSZhbXA7aGw9cHQtQlImYW1wO3Bhc3NpdmU9dHJ1ZSZhbXA7c2VydmljZT15b3V0dWJlJmFtcDt1aWxlbD0zIiBzdHlsZT0iZGlzcGxheTogbm9uZSIgPjwvaWZyYW1lPgogIDwvaGVhZD4KICA8Ym9keSBkaXI9Imx0ciIgbm8teS1vdmVyZmxvdz4KICA8c2NyaXB0ID4KICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYnMiLCBudWxsLCAnJyk7fSAgICB5dGNmZy5zZXQoJ2luaXRpYWxCb2R5Q2xpZW50V2lkdGgnLCBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKTsKCiAgICB3aW5kb3cueXRjZmcuc2V0KCdTRVJWSUNFX1dPUktFUl9LSUxMU1dJVENIJywgZmFsc2UpOwogIDwvc2NyaXB0PgogIDxzY3JpcHQgPgogICAgd2luZG93WyJ5dEluaXRpYWxEYXRhIl0gPSB7InJlc3BvbnNlQ29udGV4dCI6eyJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhIjp7Inl0Q29uZmlnRGF0YSI6eyJjc24iOiJfMmVZWDduZkE0R2l3UVRKd0thb0NRIiwidmlzaXRvckRhdGEiOiJDZ3RpYkhkNlpsbG5RMWh3TkNqX3otSDhCUSUzRCUzRCIsInJvb3RWaXN1YWxFbGVtZW50VHlwZSI6MzgzMn19fSwid2ViV2F0Y2hOZXh0UmVzcG9uc2VFeHRlbnNpb25EYXRhIjp7InJlbGF0ZWRWaWRlb0FyZ3MiOiIifX07CiAgICB3aW5kb3dbInl0SW5pdGlhbFBsYXllclJlc3BvbnNlIl0gPSB7InJlc3BvbnNlQ29udGV4dCI6eyJzZXJ2aWNlVHJhY2tpbmdQYXJhbXMiOlt7InNlcnZpY2UiOiJHRkVFREJBQ0siLCJwYXJhbXMiOlt7ImtleSI6ImlzX3ZpZXdlZF9saXZlIiwidmFsdWUiOiJGYWxzZSJ9LHsia2V5IjoibG9nZ2VkX2luIiwidmFsdWUiOiIwIn0seyJrZXkiOiJlIiwidmFsdWUiOiIyMzk0MjQzNSwyMzg4NTU3MiwyNDU5MDI5MCwyMzk0NDc3OSwyMzk2MjkyMCwyMzkyODUwOCwyMzkyMDc3MCwyMzk2Mjk2MiwyMzg4MDgyOSwyMzkyNzc2NywyMzkzMDIyMCwyMzkxMTA1NSwyMzk1MTYyMSwyMzg4NDM4NiwyMzg4MjUwMiwyMzkxODU5NywyMzk1MTEzOCwyMzg1ODA1NywyMzk1NTM3MywyMzgzNDYxMSwyMzg1Nzk0OCwyMzk1MDU5NywxNzE0MjQ0LDIzOTM0OTcwLDIzODA0MjgxLDIzOTQ4ODQxLDIzOTYzNjYwLDIzOTQ3Njk4LDIzOTQ2NDIwLDIzOTIxNTU0LDIzOTYzNjE2LDIzOTQyMzM4LDIzODgwODM1LDIzOTQyNjMzLDIzOTE0NzQ5LDIzOTU2NzU0LDIzODgwMDQzLDIzODkwOTU5LDIzNzQ0MTc2LDIzODM5NTk3LDIzOTUwMjczIn1dfSx7InNlcnZpY2UiOiJDU0kiLCJwYXJhbXMiOlt7ImtleSI6ImMiLCJ2YWx1ZSI6IldFQiJ9LHsia2V5IjoiY3ZlciIsInZhbHVlIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LHsia2V5IjoieXRfbGkiLCJ2YWx1ZSI6IjAifSx7ImtleSI6IkdldFBsYXllcl9yaWQiLCJ2YWx1ZSI6IjB4NDhlMzZjMjQ4MjU2MjkzMSJ9XX0seyJzZXJ2aWNlIjoiR1VJREVEX0hFTFAiLCJwYXJhbXMiOlt7ImtleSI6ImxvZ2dlZF9pbiIsInZhbHVlIjoiMCJ9XX0seyJzZXJ2aWNlIjoiRUNBVENIRVIiLCJwYXJhbXMiOlt7ImtleSI6ImNsaWVudC52ZXJzaW9uIiwidmFsdWUiOiIyLjIwMjAxMDIzIn0seyJrZXkiOiJjbGllbnQubmFtZSIsInZhbHVlIjoiV0VCIn1dfV0sIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGEiOnsieXRDb25maWdEYXRhIjp7ImNzbiI6Il8yZVlYN25mQTRHaXdRVEp3S2FvQ1EiLCJ2aXNpdG9yRGF0YSI6IkNndGliSGQ2WmxsblExaHdOQ2pfei1IOEJRJTNEJTNEIiwicm9vdFZpc3VhbEVsZW1lbnRUeXBlIjozODMyfSwiaGFzRGVjb3JhdGVkIjp0cnVlfX0sInBsYXlhYmlsaXR5U3RhdHVzIjp7InN0YXR1cyI6IkVSUk9SIiwicmVhc29uIjoiVsOtZGVvIGluZGlzcG9uw612ZWwiLCJlcnJvclNjcmVlbiI6eyJwbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlciI6eyJyZWFzb24iOnsic2ltcGxlVGV4dCI6IlbDrWRlbyBpbmRpc3BvbsOtdmVsIn0sInRodW1ibmFpbCI6eyJ0aHVtYm5haWxzIjpbeyJ1cmwiOiIvL3MueXRpbWcuY29tL3l0cy9pbWcvbWVoNy12ZmxHZXZlajcucG5nIiwid2lkdGgiOjE0MCwiaGVpZ2h0IjoxMDB9XX0sImljb24iOnsiaWNvblR5cGUiOiJFUlJPUl9PVVRMSU5FIn19fSwiY29udGV4dFBhcmFtcyI6IlEwRkJVMEZuWjBFPSJ9LCJ0cmFja2luZ1BhcmFtcyI6IkNBQVF1MmtpRXdqQXhQVEd0TlhzQWhWSWNaQUtIVW0xQ3c4PSJ9OwogICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJwZHIiLCBudWxsLCAnJyk7fQogIDwvc2NyaXB0PgogICAgICA8c2NyaXB0ID4oZnVuY3Rpb24oKSB7dmFyIGNvbmZpZ3MgPSB7IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1BMQVlMSVNUX09WRVJWSUVXIjp7InJvb3RFbGVtZW50SWQiOiJjNC1wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfUExBWUxJU1RfT1ZFUlZJRVciLCJldmVudExhYmVsIjoicGxheWxpc3RvdmVydmlldyIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJkaXNhYmxlU2hhcmluZyI6dHJ1ZSwiaGlkZUluZm8iOnRydWUsImRpc2FibGVXYXRjaExhdGVyIjp0cnVlLCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6InBsYXlsaXN0X292ZXJ2aWV3In0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1dBVENIIjp7InRyYW5zcGFyZW50QmFja2dyb3VuZCI6dHJ1ZSwidXNlRmFzdFNpemluZ09uV2F0Y2hEZWZhdWx0IjpmYWxzZSwic2hvd01pbmlwbGF5ZXJCdXR0b24iOnRydWUsImV4dGVybmFsRnVsbHNjcmVlbiI6dHJ1ZSwic2hvd01pbmlwbGF5ZXJVaVdoZW5NaW5pbWl6ZWQiOnRydWUsInJvb3RFbGVtZW50SWQiOiJtb3ZpZV9wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfV0FUQ0giLCJldmVudExhYmVsIjoiZGV0YWlscGFnZSIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6IndhdGNoIn0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1ZFUlRJQ0FMX0xBTkRJTkdfUEFHRV9QUk9NTyI6eyJyb290RWxlbWVudElkIjoieXRkLWRlZmF1bHQtcHJvbW8tcGFuZWwtcmVuZGVyZXItaW5saW5lLXBsYXliYWNrLXJlbmRlcmVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1ZFUlRJQ0FMX0xBTkRJTkdfUEFHRV9QUk9NTyIsImV2ZW50TGFiZWwiOiJwcm9maWxlcGFnZSIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiY29udHJvbHNUeXBlIjowLCJkaXNhYmxlUmVsYXRlZFZpZGVvcyI6dHJ1ZSwiYW5ub3RhdGlvbnNMb2FkUG9saWN5IjozLCJkZXZpY2UiOnsiaW50ZXJmYWNlTmFtZSI6IldFQiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sImhpZGVJbmZvIjp0cnVlLCJzdGFydE11dGVkIjp0cnVlLCJlbmFibGVNdXRlZEF1dG9wbGF5Ijp0cnVlLCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6ImNoYW5uZWxzIn0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0NIQU5ORUxfVFJBSUxFUiI6eyJyb290RWxlbWVudElkIjoiYzQtcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0NIQU5ORUxfVFJBSUxFUiIsImV2ZW50TGFiZWwiOiJwcm9maWxlcGFnZSIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJjc2lQYWdlVHlwZSI6ImNoYW5uZWxzIn0sIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1NQT05TT1JTSElQU19PRkZFUiI6eyJyb290RWxlbWVudElkIjoieXRkLXNwb25zb3JzaGlwcy1vZmZlci13aXRoLXZpZGVvLXJlbmRlcmVyIiwianNVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX1NQT05TT1JTSElQU19PRkZFUiIsImV2ZW50TGFiZWwiOiJzcG9uc29yc2hpcHNvZmZlciIsImNvbnRlbnRSZWdpb24iOiJCUiIsImhsIjoicHRfQlIiLCJob3N0TGFuZ3VhZ2UiOiJwdCIsInBsYXllclN0eWxlIjoiZGVza3RvcC1wb2x5bWVyIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIiwiZGlzYWJsZVJlbGF0ZWRWaWRlb3MiOnRydWUsImFubm90YXRpb25zTG9hZFBvbGljeSI6MywiZGV2aWNlIjp7ImludGVyZmFjZU5hbWUiOiJXRUIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDIwMTAyMy4wMi4wMCJ9LCJkaXNhYmxlRnVsbHNjcmVlbiI6dHJ1ZSwiY2FuYXJ5U3RhdGUiOiJub25lIn19O2ZvciAodmFyIGNvbnRleHRJZCBpbiBjb25maWdzKSB7Y29uZmlnc1tjb250ZXh0SWRdWydzZXJpYWxpemVkRXhwZXJpbWVudElkcyddID0gIjIzNzQ0MTc2LDIzODA0MjgxLDIzODM0NjExLDIzODM5NTk3LDIzODU2OTUwLDIzODU3OTQ4LDIzODU4MDU3LDIzODY4MzIwLDIzODc4NDE1LDIzODgwMDQzLDIzODgwODI5LDIzODgyNTAyLDIzODg0Mzg2LDIzODg1NTcyLDIzODkwOTU5LDIzODk1NjcxLDIzOTExMDU1LDIzOTE0NzQ5LDIzOTE1OTkxLDIzOTE4NTk3LDIzOTIwNzcwLDIzOTIwNzcwLDIzOTIxNTU0LDIzOTI3NzY3LDIzOTI3NzY3LDIzOTI4NTA4LDIzOTMwMjIwLDIzOTM0OTcwLDIzOTQyMzM4LDIzOTQyNDM1LDIzOTQyNjMzLDIzOTQ0Nzc5LDIzOTQ1NDc5LDIzOTQ2NDIwLDIzOTQ3Njk4LDIzOTQ4ODQxLDIzOTUwMjczLDIzOTUwNTk3LDIzOTUxMTA3LDIzOTUxMTM4LDIzOTUxNjIxLDIzOTU1MzczLDIzOTU2NzU0LDIzOTYxMjkxLDIzOTYyOTIwLDIzOTYyOTYyLDIzOTYzNjE2LDIzOTYzNjYwLDI0NTkwMjkwLDk0NDkyNDMiO2NvbmZpZ3NbY29udGV4dElkXVsnc2VyaWFsaXplZEV4cGVyaW1lbnRGbGFncyddID0gImh0bWw1X3JlYWRhaGVhZF9yYXRlbGltaXQ9MzAwMFx1MDAyNndlYl9wbGF5ZXJfaW5uZXJ0dWJlX3NoYXJlX3BhbmVsPXRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2FhY19hYzM9dHJ1ZVx1MDAyNmh0bWw1X2V4cGVyaW1lbnRfaWRfbGFiZWw9MjM5NTAyNzNcdTAwMjZ1c2VfdmlkZW9fYWRfYnJlYWtfb2Zmc2V0X21zX2ludDY0PXRydWVcdTAwMjZzaG91bGRfY2xlYXJfdmlkZW9fZGF0YV9vbl9wbGF5ZXJfY3VlZF91bnN0YXJ0ZWQ9dHJ1ZVx1MDAyNmtldmxhcl9hdXRvbmF2X21pbmlwbGF5ZXJfZml4PXRydWVcdTAwMjZodG1sNV9lbmFibGVfbmV3X2h2Y19lbmM9dHJ1ZVx1MDAyNmh0bWw1X3N0YXRpY19hYnJfcmVzb2x1dGlvbl9zaGVsZj0wXHUwMDI2cHJlc2tpcF9idXR0b25fc3R5bGVfYWRzX2JhY2tlbmQ9Y291bnRkb3duX25leHRfdG9fdGh1bWJuYWlsXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZD0wXHUwMDI2ZW5hYmxlX2NsaWVudF9kZWZlcnJlZF9mdWxsX3NjcmVlbl9maWx0ZXJpbmdfZm9yX213ZWJfcGhvbmVzPXRydWVcdTAwMjZ3ZWJfcGxheWVyX3NlbnRpbmVsX2lzX3VuaXBsYXllcj10cnVlXHUwMDI2ZmFzdF9hdXRvbmF2X2luX2JhY2tncm91bmQ9dHJ1ZVx1MDAyNmVuYWJsZV9rZXZsYXJfYWN0aW9uX2NvbXBhbmlvbl9jbGVhbnVwPXRydWVcdTAwMjZ3ZWJfZ2VsX3RpbWVvdXRfY2FwPXRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5PXRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlPXRydWVcdTAwMjZodG1sNV9wcmVmZXJfc2VydmVyX2J3ZTM9dHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW09dHJ1ZVx1MDAyNndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZT1cdTAwMjZodG1sNV9uZXdfZWxlbWVudF9vbl9pbnZhbGlkX3N0YXRlPXRydWVcdTAwMjZodG1sNV9nYXBsZXNzX21heF9wbGF5ZWRfcmFuZ2VzPTEyXHUwMDI2aHRtbDVfZGVza3RvcF92cjE4MF9hbGxvd19wYW5uaW5nPXRydWVcdTAwMjZzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZz10cnVlXHUwMDI2dW5wbHVnZ2VkX3R2aHRtbDVfYm90Z3VhcmRfYXR0ZXN0YXRpb249dHJ1ZVx1MDAyNmh0bWw1X2RlbGF5X2luaXRpYWxfbG9hZGluZz10cnVlXHUwMDI2cGxheXJlYWR5X2ZpcnN0X3BsYXlfZXhwaXJhdGlvbj0tMVx1MDAyNndlYl9wbGF5ZXJfYXBpX2xvZ2dpbmdfZnJhY3Rpb249MC4wMVx1MDAyNmh0bWw1X21pbl91cGdyYWRlX2hlYWx0aD0wXHUwMDI2c2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2VcdTAwMjZ1c2Vfc3VydmV5X3NraXBfaW5fMHM9dHJ1ZVx1MDAyNmh0bWw1X2hsc19taW5fdmlkZW9faGVpZ2h0PTBcdTAwMjZlbmFibGVfZXZpY3Rpb25fcHJvdGVjdGlvbl9mb3JfYnVsbGVpdD10cnVlXHUwMDI2aHRtbDVfaGRjcF9wcm9iaW5nX3N0cmVhbV91cmw9XHUwMDI2d2ViX29wX2NvbnRpbnVhdGlvbl90eXBlX2Jhbmxpc3Q9KClcdTAwMjZodG1sNV9hdjFfdGhyZXNoX2hjYz0xMDgwXHUwMDI2aHRtbDVfc291cmNlX2J1ZmZlcl9hdHRhY2hfZGVsYXlfdGltZT0xNTAwMFx1MDAyNmh0bWw1X3BsYXRmb3JtX21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHM9MC4wXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl90aHJlc2hvbGRfbXM9MzAwMDBcdTAwMjZtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWQ9dHJ1ZVx1MDAyNnZhcmlhYmxlX2xvYWRfdGltZW91dF9tcz0wXHUwMDI2aHRtbDVfZ2FwbGVzc19lbmRlZF90cmFuc2l0aW9uX2J1ZmZlcl9tcz0yMDBcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3M9MFx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRlZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzPXRydWVcdTAwMjZodG1sNV9nYXBsZXNzX2FkX2J5dGVyYXRlX211bHRpcGxpZXI9MS42XHUwMDI2d2ViX2xvZ19jb25uZWN0aW9uPXRydWVcdTAwMjZkZWJ1Z19kYXBwZXJfdHJhY2VfaWQ9XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjcz0wLjI1XHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93PTAuMFx1MDAyNmJvdGd1YXJkX2FzeW5jX3NuYXBzaG90X3RpbWVvdXRfbXM9MzAwMFx1MDAyNmh0bWw1X2hlYWx0aF90b19nZWw9dHJ1ZVx1MDAyNnBvbHltZXJfYmFkX2J1aWxkX2xhYmVscz10cnVlXHUwMDI2aHRtbDVfbGl2ZV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93PTAuMFx1MDAyNm92ZXJ3cml0ZV9wb2x5ZmlsbF9vbl9sb2dnaW5nX2xpYl9sb2FkZWQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2Vfb3ZlcmxheV9wYXJzaW5nPWZhbHNlXHUwMDI2aHRtbDVfYWxsb3dhYmxlX2xpdmVuZXNzX2RyaWZ0X2NodW5rcz0yXHUwMDI2aHRtbDVfcGVyZm9ybWFuY2VfY2FwX2Zsb29yPTM2MFx1MDAyNmh0bWw1X2JhY2tncm91bmRfY2FwX2lkbGVfc2Vjcz02MFx1MDAyNmh0bWw1X3VucmVwb3J0ZWRfc2Vla19yZXNlZWtfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQ9MS4zXHUwMDI2ZW5hYmxlX2xpdmVfcHJlbWllcmVfd2ViX3BsYXllcl9pbmRpY2F0b3I9dHJ1ZVx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc19tZWRpYV9zb3VyY2VfZHVyYXRpb249MjUyMDBcdTAwMjZwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlPXRydWVcdTAwMjZodG1sNV9wbGF5ZXJfZHluYW1pY19ib3R0b21fZ3JhZGllbnQ9dHJ1ZVx1MDAyNmVuYWJsZV90b3Bzb2lsX3d0YV9mb3JfaGFsZnRpbWU9dHJ1ZVx1MDAyNmVuYWJsZV95cGNfY2xpY2t3cmFwX29uX2xpdmluZ19yb29tPXRydWVcdTAwMjZodG1sNV9tYXhfcmVhZGFoZWFkX2JhbmR3aWR0aF9jYXA9MFx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3Nfb25fdGltZW91dD0wLjFcdTAwMjZ3ZWJfcGxheWVyX3Nob3dfbXVzaWNfaW5fdGhpc192aWRlb19ncmFwaGljPXZpZGVvX3RodW1ibmFpbFx1MDAyNmtldmxhcl9taW5pcGxheWVyPXRydWVcdTAwMjZrZXZsYXJfcXVldWVfdXNlX3VwZGF0ZV9hcGk9dHJ1ZVx1MDAyNm5ldHdvcmtsZXNzX3l0aWRiX3ZlcnNpb249MVx1MDAyNnNraXBfYWRfYnV0dG9uX3dpdGhfdGh1bWJuYWlsPXRydWVcdTAwMjZodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwPTcyMFx1MDAyNmxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbj0wLjFcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXA9MFx1MDAyNmxpdmVfZnJlc2NhX3YyPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2lvc19td2ViX3Jlc2l6aW5nPXRydWVcdTAwMjZodG1sNV9tYXhfbGl2ZV9kdnJfd2luZG93X3BsdXNfbWFyZ2luX3NlY3M9NDY4MDAuMFx1MDAyNmh0bWw1X3JlbGVhc2Vfb25fZXJyb3I9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2VfcGxheWJhY2tfdHJhY2tpbmdfcGFyc2luZz10cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9tb3ZlX3Bzc2hfdG9fbW9vdj10cnVlXHUwMDI2aHRtbDVfbmV3X2VsZW1fb25faGlkZGVuPXRydWVcdTAwMjZzZXRfaW50ZXJzdGl0aWFsX2FkdmVydGlzZXJzX3F1ZXN0aW9uX3RleHQ9dHJ1ZVx1MDAyNmxpdmVfY2h1bmtfcmVhZGFoZWFkPTNcdTAwMjZodG1sNV9kZWNvZGVfdG9fdGV4dHVyZV9jYXA9dHJ1ZVx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWU9XHUwMDI2d2ViX3BsYXllcl93YXRjaF9uZXh0X3Jlc3BvbnNlPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2xpdmVfbW9uaXRvcl9lbnY9dHJ1ZVx1MDAyNmh0bWw1X3Jld3JpdGVfbWFuaWZlc3RsZXNzX2Zvcl9jb250aW51aXR5PXRydWVcdTAwMjZodG1sNV9xb2VfdXNlcl9pbnRlbnRfbWF0Y2hfaGVhbHRoPXRydWVcdTAwMjZodG1sNV9sb2dfbGl2ZV9kaXNjb250aW51aXR5PXRydWVcdTAwMjZodG1sNV9tYXhfaGVhZG1fZm9yX3N0cmVhbWluZ194aHI9MFx1MDAyNnVzZV9pbmxpbmVkX3BsYXllcl9ycGM9dHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfZW1iZWRfbW9kdWxlPXRydWVcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3c9MC4wXHUwMDI2ZGVza3RvcF9hY3Rpb25fY29tcGFuaW9uX3d0YV9zdXBwb3J0PXRydWVcdTAwMjZodG1sNV91bmlmeV9zcWxlc3NfZmxvdz10cnVlXHUwMDI2d2ViX3NjcmVlbl9hc3NvY2lhdGVkX2FsbF9sYXllcnM9dHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zPTBcdTAwMjZzZWxmX3BvZGRpbmdfaGVhZGVyX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfaW50ZXJzdGl0aWFsX21lc3NhZ2VcdTAwMjZodG1sNV9hdjFfdHZfa2lsbHN3aXRjaD10cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9zdWJzY3JpYmVfbmV3X3Zpcz10cnVlXHUwMDI2aHRtbDVfaWdub3JlX2JhZF9iaXRyYXRlcz10cnVlXHUwMDI2d2ViX3BsYXllcl92c3NfcGFnZWlkX2hlYWRlcj10cnVlXHUwMDI2aHRtbDVfbm9fcGxhY2Vob2xkZXJfcm9sbGJhY2tzPXRydWVcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9zZWNzPTBcdTAwMjZodG1sNV9jaGVja19zZWdudW1fZGlzY29udGludWl0eT10cnVlXHUwMDI2aHRtbDVfdW5yZXdyaXRlX3RpbWVzdGFtcHM9dHJ1ZVx1MDAyNndlYl9sb2dnaW5nX21heF9iYXRjaD0xNTBcdTAwMjZ3ZWJfYXBpX3VybD10cnVlXHUwMDI2Y3VzdG9tX2NzaV90aW1lbGluZV91c2VfZ2VsPXRydWVcdTAwMjZkaXNhYmxlX3RodW1ibmFpbF9wcmVsb2FkaW5nPXRydWVcdTAwMjZzZWxmX3BvZGRpbmdfaGlnaGxpZ2h0ZWRfYnV0dG9uX2JsdWU9dHJ1ZVx1MDAyNmh0bWw1X2hhY2tfZ2FwbGVzc19pbml0PXRydWVcdTAwMjZ3ZWJfcGxheWVyX2luY2x1ZGVfaW5uZXJ0dWJlX2NvbW1hbmRzPXRydWVcdTAwMjZodG1sNV9sb2dfcmVidWZmZXJfZXZlbnRzPTVcdTAwMjZodG1sNV9lbmNvdXJhZ2VfYXJyYXlfY29hbGVzY2luZz10cnVlXHUwMDI2aHRtbDVfc2Vla19vdmVyX2Rpc2NvbnRpbnVpdGllcz10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19zZWVrX3RvbGVyYW5jZV9zZWNzPTMuMFx1MDAyNmhmcl9kcm9wcGVkX2ZyYW1lcmF0ZV9mYWxsYmFja190aHJlc2hvbGQ9MFx1MDAyNmh0bWw1X2Vycm9yX2Nvb2xkb3duX2luX21zPTMwMDAwXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfc2Vla19sYXRlbmN5X2Z1ZGdlPTAuNVx1MDAyNmhvZmZsZV9tYXhfdmlkZW9fZHVyYXRpb25fc2Vjcz0wXHUwMDI2aHRtbDVfZGlzYWJsZV9leHRyYV91cGRhdGVfcmVzb3VyY2U9dHJ1ZVx1MDAyNmJvdGd1YXJkX2V2YWxfd2l0aF9zY3JpcHRfdGFnPXRydWVcdTAwMjZodG1sNV9hbGxvd192aWRlb19rZXlmcmFtZV93aXRob3V0X2F1ZGlvPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2ljb25zPXRydWVcdTAwMjZodG1sNV9lbmFibGVfYWRzX2NsaWVudF9tb25pdG9yaW5nX2xvZz10cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXJfZXhwYW5kX3RvcD10cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19ub19yZXF1ZXN0c19hZnRlcl9sb2NrPXRydWVcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zPTEyMDAwXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOT10cnVlXHUwMDI2d2ViX3l0X2NvbmZpZ19jb250ZXh0PXRydWVcdTAwMjZuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cz0xXHUwMDI2aHRtbDVfcmVsb2FkX2VsZW1lbnRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tcz0yMDAwMFx1MDAyNmVuYWJsZV9kcm1fc3NkYWk9dHJ1ZVx1MDAyNndlYl9jbGllbnRfY291bnRlcl9yYW5kb21fc2VlZD10cnVlXHUwMDI2ZXJyb3JfbWVzc2FnZV9mb3JfZ3N1aXRlX25ldHdvcmtfcmVzdHJpY3Rpb25zPXRydWVcdTAwMjZzdXBwcmVzc19nZW5fMjA0PXRydWVcdTAwMjZodG1sNV9saXZlX2Ficl9oZWFkX21pc3NfZnJhY3Rpb249MC4wXHUwMDI2Y3NpX29uX2dlbD10cnVlXHUwMDI2bWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWk9dHJ1ZVx1MDAyNndlYl9kZXByZWNhdGVfc2VydmljZV9hamF4X21hcF9kZXBlbmRlbmN5PXRydWVcdTAwMjZodG1sNV9hdjFfdGhyZXNoX2FybT0yNDBcdTAwMjZuZXR3b3JrbGVzc190aHJvdHRsZV90aW1lb3V0PTEwMFx1MDAyNmh0bWw1X3N0b3BfdmlkZW9faW5fY2FuY2VsX3BsYXliYWNrPXRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3Jlc2V0X29uX2FwcGVuZF9lcnJvcj10cnVlXHUwMDI2aHRtbDVfcW9lX2ludGVyY2VwdD1cdTAwMjZtYXhfcmVzb2x1dGlvbl9mb3Jfd2hpdGVfbm9pc2U9MzYwXHUwMDI2aHRtbDVfZGlzYWJsZV9wcmVzZXJ2ZV9yZWZlcmVuY2U9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW5saW5lX2JvdGd1YXJkPXRydWVcdTAwMjZodG1sNV9kaXNhYmxlX25vbl9jb250aWd1b3VzPXRydWVcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfbWF4X3NlZ21lbnRfaGlzdG9yeT0wXHUwMDI2aHRtbDVfbG9nX3RpbWVzdGFtcF9vZmZzZXQ9dHJ1ZVx1MDAyNnBsYXllcl9ib290c3RyYXBfbWV0aG9kPXRydWVcdTAwMjZodG1sNV9saWNlbnNlX2NvbnN0cmFpbnRfZGVsYXk9NTAwMFx1MDAyNmh0bWw1X2FzcGVjdF9mcm9tX2FkYXB0aXZlX2Zvcm1hdD10cnVlXHUwMDI2ZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWU9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdG91Y2hfbW9kZV9pbXByb3ZlbWVudHM9dHJ1ZVx1MDAyNndlYl9mb3JlZ3JvdW5kX2hlYXJ0YmVhdF9pbnRlcnZhbF9tcz0yODAwMFx1MDAyNndlYl9wbGF5ZXJfbm9fZW5kc2NyZWVuX2Nyb3A9dHJ1ZVx1MDAyNmd2aV9jaGFubmVsX2NsaWVudF9zY3JlZW49dHJ1ZVx1MDAyNmh0bWw1X3F1YWxpdHlfY2FwX21pbl9hZ2Vfc2Vjcz0wXHUwMDI2ZGFzaF9tYW5pZmVzdF92ZXJzaW9uPTVcdTAwMjZyZWxlYXNlX3BsYXllcl9vbl9hYmFuZG9uX2Zvcl9idWxsZWl0X2xyX2Fkc19mcm9udGVuZD10cnVlXHUwMDI2ZGVsYXlfZ2VsX3VudGlsX2NvbmZpZ19yZWFkeT10cnVlXHUwMDI2aHRtbDVfc2Vla19zZXRfY210X2RlbGF5X21zPTIwMDBcdTAwMjZodG1sNV9hdjFfdGhyZXNoX2xjYz00ODBcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3k9dHJ1ZVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnRfYWZ0ZXJfYXV0b3BsYXllZF92aWRlbz0tMVx1MDAyNmVuYWJsZV9jbGllbnRfcGFnZV9pZF9oZWFkZXJfZm9yX2ZpcnN0X3BhcnR5X3BpbmdzPXRydWVcdTAwMjZ1bnBsdWdnZWRfdHZodG1sNV92aWRlb19wcmVsb2FkX29uX2ZvY3VzX2RlbGF5X21zPTBcdTAwMjZodG1sNV9hZF90aW1lb3V0X21zPTBcdTAwMjZlbmFibGVfZGV2aWNlX2ZvcndhcmRpbmdfZnJvbV94aHJfY2xpZW50PXRydWVcdTAwMjZlbmFibGVfYWRfcG9kX3NwZWNpZmljX3VpPXRydWVcdTAwMjZodG1sNV9wb3N0X2ludGVycnVwdF9yZWFkYWhlYWQ9MjBcdTAwMjZkZXNrdG9wX3BsYXllcl9idXR0b25fdG9vbHRpcF93aXRoX3Nob3J0Y3V0PXRydWVcdTAwMjZsb2dfanNfZXJyb3JfY2x1c3RlcnM9MS4wXHUwMDI2aHRtbDVfaW5saW5lX3ZpZGVvX3F1YWxpdHlfc3VydmV5PXRydWVcdTAwMjZwbGF5ZXJfYWxsb3dfYXV0b25hdl9hZnRlcl9wbGF5bGlzdD10cnVlXHUwMDI2aHRtbDVfdnA5X21pbWVfZnVsbF9yYW5nZV9mbGFnPXRydWVcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfcGFkZGluZ19zZWNzPTMuMFx1MDAyNmh0bWw1X21heGltdW1fcmVhZGFoZWFkX3NlY29uZHM9MC4wXHUwMDI2bGl2ZV9mcmVzY2Ffc2NoZWR1bGVkX3BlcnNpc3RlbnQ9dHJ1ZVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9sb2FkX3NwZWVkPTEuNVx1MDAyNmh0bWw1X2luX2J1ZmZlcl9wdGxfdGltZW91dF9tcz0wXHUwMDI2aHRtbDVfbWF4X2RyaWZ0X3Blcl90cmFja19zZWNzPTAuMFx1MDAyNmh0bWw1X2VuYWJsZV9lYWMzPXRydWVcdTAwMjZ1c2VfaXZhcl90b19leHRyYWN0X2FkX3ZpZGVvX2lkPXRydWVcdTAwMjZ3ZWJfcGxheWVyX3dhdGNoX25leHRfcmVzcG9uc2VfcGFyc2luZz10cnVlXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnM9dHJ1ZVx1MDAyNmh0bWw1X2RlY29kZXJfZnJlZXplX3RpbWVvdXRfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X2lvc19mb3JjZV9zZWVrX3RvX3plcm9fb25fc3RvcD10cnVlXHUwMDI2dHZodG1sNV91bnBsdWdnZWRfcHJlbG9hZF9jYWNoZV9zaXplPTVcdTAwMjZodG1sNV9wcm9iZV9wcmltYXJ5X2RlbGF5X2Jhc2VfbXM9MFx1MDAyNnJlbmRlcl9lbmhhbmNlZF9vdmVybGF5c19hc19jdGFzX2Zvcl9kZXNrdG9wX3N0eWxlPXVuc2V0XHUwMDI2YWRfcG9kX2Rpc2FibGVfY29tcGFuaW9uX3BlcnNpc3RfYWRzX3F1YWxpdHk9dHJ1ZVx1MDAyNmh0bWw1X2J1ZmZlcl9oZWFsdGhfdG9fZGVmZXJfc2xpY2VfcHJvY2Vzc2luZz0wLjBcdTAwMjZkaXNhYmxlX3NpbXBsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3M9dHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX2N1c3RvbV9jb250cm9sX3NoYXJlZD10cnVlXHUwMDI2ZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21fcG9seW1lcl9uZXR3b3JrX21hbmFnZXI9dHJ1ZVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjcz0yLjBcdTAwMjZhbGlnbl9hZF90b192aWRlb19wbGF5ZXJfbGlmZWN5Y2xlX2Zvcl9idWxsZWl0PXRydWVcdTAwMjZ3d3dfZm9yX3ZpZGVvc3RhdHM9dHJ1ZVx1MDAyNmh0bWw1X3N0aWNreV9yZWR1Y2VzX2Rpc2NvdW50X2J5PTAuMFx1MDAyNndlYl9wbGF5ZXJfc3NfbWVkaWFfdGltZV9vZmZzZXQ9dHJ1ZVx1MDAyNmtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlPXRydWVcdTAwMjZleHRlcm5hbF9mdWxsc2NyZWVuX3dpdGhfZWR1PXRydWVcdTAwMjZodG1sNV9tYXhfcmVhZGJlaGluZF9zZWNzPTBcdTAwMjZtd2ViX2NvdWdhcl9iaWdfY29udHJvbHM9dHJ1ZVx1MDAyNmh0bWw1X2F1dG9wbGF5X2RlZmF1bHRfcXVhbGl0eV9jYXA9MFx1MDAyNnNldF9pbnRlcnN0aXRpYWxfc3RhcnRfYnV0dG9uPXRydWVcdTAwMjZodG1sNV9iYW5kd2lkdGhfd2luZG93X3NpemU9MFx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6aW5nX211bHRpcGxpZXI9MC44XHUwMDI2a2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucz10cnVlXHUwMDI2bXVzaWNfZW5hYmxlX3NoYXJlZF9hdWRpb190aWVyX2xvZ2ljPXRydWVcdTAwMjZodG1sNV9pZ25vcmVfc3RhcnRfc2Vjb25kc19mb3JfYWRzX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZXJyb3JfY2hlY2tfa2lsbHN3aXRjaD10cnVlXHUwMDI2bmV0d29ya19wb2xsaW5nX2ludGVydmFsPTMwMDAwXHUwMDI2aHRtbDVfdmlkZW9fdGJkX21pbl9rYj0wXHUwMDI2cGxheWVyX3dlYl9jYW5hcnlfc3RhZ2U9MFx1MDAyNmh0bWw1X2RlZmF1bHRfYWRfZ2Fpbj0wLjVcdTAwMjZodG1sNV9obHNfaW5pdGlhbF9iaXRyYXRlPTBcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfdnA5X290Zj10cnVlXHUwMDI2d2ViX3BsYXllcl9pcHBfY2FuYXJ5X3R5cGVfZm9yX2xvZ2dpbmc9XHUwMDI2d2ViX2xvZ19hcHBfaW5zdGFsbF9leHBlcmltZW50cz10cnVlXHUwMDI2cGFpcl9zZXJ2bGV0X2RlcHJlY2F0aW9uX3dhcm5pbmdfZW5hYmxlZD10cnVlXHUwMDI2aHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcD0wXHUwMDI2aHRtbDVfc3luY19zZWVraW5nX3N0YXRlPXRydWVcdTAwMjZoaWRlX3ByZXNraXA9dHJ1ZVx1MDAyNmVuYWJsZV9jb29raWVfcmVpc3N1ZV9pZnJhbWU9dHJ1ZVx1MDAyNmh0bWw1X21lZGlhX2Z1bGxzY3JlZW49dHJ1ZVx1MDAyNmRlbGF5X2Fkc19ndmlfY2FsbF9vbl9idWxsZWl0X2xpdmluZ19yb29tX21zPTBcdTAwMjZrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmc9dHJ1ZVx1MDAyNnBsYXllcl9kb3VibGV0YXBfdG9fc2Vlaz10cnVlXHUwMDI2d2ViX29wX2VuZHBvaW50X2Jhbmxpc3Q9KClcdTAwMjZodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0PTMuMFx1MDAyNndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0PSgpXHUwMDI2aHRtbDVfbGljZW5zZV9zZXJ2ZXJfZXJyb3JfcmV0cnlfbGltaXQ9M1x1MDAyNmh0bWw1X2p1bWJvX3VsbF9ub25zdHJlYW1pbmdfbWZmYV9tcz00MDAwXHUwMDI2aHRtbDVfbG9nX3BsYXliYWNrX3JhdGVfY2hhbmdlX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmthYnVraV9wYW5nZWFfcHJlZmVyX2F1ZGlvX29ubHlfZm9yX2F0dl9hbmRfdXBsb2Fkcz10cnVlXHUwMDI2dXNlX3BsYXllcl9wYXJhbXNfZm9yX3Bhc3NpbmdfZGVza3RvcF9jb252ZXJzaW9uX3VybHM9dHJ1ZVx1MDAyNmh0bWw1X3N0b3JlX3hocl9oZWFkZXJzX3JlYWRhYmxlPXRydWVcdTAwMjZzZWxmX3BvZGRpbmdfcG9kX2Nob2ljZV9zdHJpbmdfdGVtcGxhdGU9c2VsZl9wb2RkaW5nX3BvZF9jaG9pY2VcdTAwMjZodG1sNV9mb3JjZV9kZWJ1Z19kYXRhX2Zvcl9jbGllbnRfdG1wX2xvZ3M9dHJ1ZVx1MDAyNmJ1bGxlaXRfZ2V0X21pZHJvbGxfaW5mb190aW1lb3V0X21zPTgwMDBcdTAwMjZodG1sNV9nYXBsZXNzX3ByZWxvYWRpbmc9dHJ1ZVx1MDAyNmZpeF9hZHNfdHJhY2tpbmdfZm9yX3N3Zl9jb25maWdfZGVwcmVjYXRpb25fbXdlYj10cnVlXHUwMDI2aHRtbDVfc2Vla19qaWdnbGVfY210X2RlbGF5X21zPTgwMDBcdTAwMjZodG1sNV9saXZlX2Ficl9yZXByZWRpY3RfZnJhY3Rpb249MC4wXHUwMDI2d2ViX2dlbF9kZWJvdW5jZV9tcz0xMDAwMFx1MDAyNmh0bWw1X2lvczRfc2Vla19hYm92ZV96ZXJvPXRydWVcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlPXRydWVcdTAwMjZodG1sNV91c2VfY3VycmVudF9tZWRpYV90aW1lX2Zvcl9nbHJlbV9nbGxhdD10cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX3BhdXNlPWZhbHNlXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfcGxheWxpc3RfdXBkYXRlPXRydWVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9sb2FkX3NwZWVkX2NoZWNrX2ludGVydmFsPTAuNVx1MDAyNmh0bWw1X2VuYWJsZV9wZXJfZm9ybWF0X2xvdWRuZXNzPXRydWVcdTAwMjZodG1sNV9zZWVrX3RpbWVvdXRfZGVsYXlfbXM9MjAwMDBcdTAwMjZ1c2VfcmVtb3RlX2NvbnRleHRfaW5fcG9wdWxhdGVfcmVtb3RlX2NsaWVudF9pbmZvPXRydWVcdTAwMjZodG1sNV9leHBhbmRlZF9tYXhfdnNzX3BpbmdzPXRydWVcdTAwMjZodG1sNV9sb2dfZXhwZXJpbWVudF9pZF9mcm9tX3BsYXllcl9yZXNwb25zZV90b19jdG1wPVx1MDAyNmh0bWw1X2RlYWR6b25lX211bHRpcGxpZXI9MS4wXHUwMDI2c3VwcHJlc3Nfc3BhcmtsZXNfZm9yX3doaXRlbGlzdGVkX2luc3RyZWFtX29uX2Rlc2t0b3A9dHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9taW5fYnVpbGRfY2w9LTFcdTAwMjZodG1sNV9hZHNfcHJlcm9sbF9sb2NrX3RpbWVvdXRfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X3Jlc3RyaWN0X3N0cmVhbWluZ194aHJfb25fc3FsZXNzX3JlcXVlc3RzPXRydWVcdTAwMjZodG1sNV9taW5pbXVtX3JlYWRhaGVhZF9zZWNvbmRzPTAuMFx1MDAyNnBsYXllcl9lbmFibGVfcGxheWJhY2tfcGxheWxpc3RfY2hhbmdlPXRydWVcdTAwMjZob2ZmbGVfY2FjaGVfc2l6ZV9zZWNzPTBcdTAwMjZodG1sNV9hdjFfdGhyZXNoPTEwODBcdTAwMjZodG1sNV9iYWNrZ3JvdW5kX3F1YWxpdHlfY2FwPTM2MFx1MDAyNnBsYXllcl9hZHNfc2V0X2FkZm9ybWF0X29uX2NsaWVudD10cnVlXHUwMDI2dXNlX3RvdWNoX2V2ZW50c19mb3JfYnVsbGVpdF9td2ViPXRydWVcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlX3VmcGg9dHJ1ZVx1MDAyNnR2aHRtbDVfZGlzYWJsZV9saXZlX3ByZWZldGNoPXRydWVcdTAwMjZodG1sNV9wcm9iZV9saXZlX3VzaW5nX3JhbmdlPXRydWVcdTAwMjZodG1sNV9wbGF5ZXJfYXV0b25hdl9sb2dnaW5nPXRydWVcdTAwMjZlbnN1cmVfb25seV9vbmVfcmVzb2x2ZWRfbWlkcm9sbF9yZXNwb25zZV9vbl93ZWI9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbXVzaWNfdmlzdWFsaXplcl90cmVhdG1lbnQ9ZmFrZVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnQ9LTFcdTAwMjZodG1sNV93b3JrYXJvdW5kX2RlbGF5X3RyaWdnZXI9dHJ1ZVx1MDAyNmRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbj10cnVlXHUwMDI2d2ViX3BsYXllcl9iaWdnZXJfYnV0dG9ucz10cnVlXHUwMDI2aHRtbDVfZmx1ZGRfc3VzcGVuZD10cnVlXHUwMDI2d2ViX3duX21hY3JvX21hcmtlcnM9dHJ1ZVx1MDAyNmFsbG93X3BvbHRlcmd1c3RfYXV0b3BsYXk9dHJ1ZVx1MDAyNnNlbGZfcG9kZGluZ19oaWdobGlnaHRfbm9uX2RlZmF1bHRfYnV0dG9uPXRydWVcdTAwMjZhdXRvcGxheV90aW1lPTgwMDBcdTAwMjZ1c2VfdHlwZXNjcmlwdF90cmFuc3BvcnQ9dHJ1ZVx1MDAyNmh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXA9MFx1MDAyNmh0bWw1X3Byb2JlX3NlY29uZGFyeV9kdXJpbmdfdGltZW91dF9taXNzX2NvdW50PTJcdTAwMjZodG1sNV9ub25fbmV0d29ya19yZWJ1ZmZlcl9kdXJhdGlvbl9tcz0wXHUwMDI2d2ViX3BsYXllcl9saXZlX21vbml0b3JfZW52X2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3M9dHJ1ZVx1MDAyNm5ldHdvcmtsZXNzX3JlcXVlc3RfYWdlX2xpbWl0PTMwXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl9qaWdnbGVfY210X2RlbGF5X21zPTBcdTAwMjZodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoPTAuMlx1MDAyNmtldmxhcl9hbGxvd19tdWx0aXN0ZXBfdmlkZW9faW5pdD10cnVlXHUwMDI2d2ViX25ldHdvcmtfY29tYmluZWRfY2F0Y2g9dHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hYzM9dHJ1ZVx1MDAyNnBsYXllcl9kZXN0cm95X29sZF92ZXJzaW9uPXRydWVcdTAwMjZsb2dfanNfZXhjZXB0aW9uc19mcmFjdGlvbj0xLjBcdTAwMjZodG1sNV9lbmFibGVfaW5fdmlkZW9fb3ZlcmxheV9hZF9pbl9wYWNmPXRydWVcdTAwMjZ3ZWJfcG9zdF9zZWFyY2g9dHJ1ZVx1MDAyNmh0bWw1X2hlYXJ0YmVhdF9zZXRfZW5kZWQ9dHJ1ZVx1MDAyNmlnbm9yZV9lbXB0eV94aHI9dHJ1ZVx1MDAyNmh0bWw1X3NhZmFyaV9kZXNrdG9wX2VtZV9taW5fdmVyc2lvbj0wXHUwMDI2aHRtbDVfY3J5cHRvX3BlcmlvZF9zZWNzX2Zyb21fZW1zZz10cnVlXHUwMDI2aHRtbDVfc3VzcGVuZF9sb2FkZXI9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2VfZmFpcnBsYXlfY29uZmlnX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXA9MFx1MDAyNndlYl9wbGF5ZXJfbGl2ZV9tb25pdG9yX2Vudl9raWxsc3dpdGNoMj10cnVlXHUwMDI2d2ViX21hY3JvX21hcmtlcnNfc25hcHBpbmdfdGhyZXNob2xkPTRcdTAwMjZodG1sNV9zZXRfZW5kZWRfaW5fcGZ4X2xpdmU9dHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9ub3Rfc2VydmFibGVfY2hlY2tfa2lsbHN3aXRjaD10cnVlXHUwMDI2aHRtbDVfdGltZV9iYXNlZF9jb25zb2xpZGF0aW9uX21zPTEwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfY2FwX3NlY3M9NjBcdTAwMjZodG1sNV9yZXN0b3JlX3BlcmZfY2FwPWZhbHNlXHUwMDI2aHRtbDVfc291cmNlX2J1ZmZlcl9hdHRhY2hfcmV0cnlfbGltaXQ9MFx1MDAyNmVuYWJsZV9zdmdfbW9kZV9vbl9lbWJlZF9tb2JpbGU9dHJ1ZVx1MDAyNmh0bWw1X2NvbnRyb2xfZmxvd19pbmNsdWRlX3RyaWdnZXJfbG9nZ2luZ19pbl90bXBfbG9ncz10cnVlXHUwMDI2bXdlYl9lbmFibGVfc2tpcHBhYmxlc19vbl9qaW9fcGhvbmU9dHJ1ZVx1MDAyNmh0bWw1X21ha2VfcGFjZl9pbl92aWRlb19vdmVybGF5X2V2aWN0YWJsZT10cnVlXHUwMDI2a2V2bGFyX3F1ZXVlX3VzZV9kZWRpY2F0ZWRfbGlzdF90eXBlPXRydWVcdTAwMjZodG1sNV9pb3M3X2ZvcmNlX3BsYXlfb25fc3RhbGw9dHJ1ZVx1MDAyNmRpc2FibGVfbmV3X3BhdXNlX3N0YXRlMz10cnVlXHUwMDI2YnVsbGVpdF91c2VfdG91Y2hfZXZlbnRzX2Zvcl9za2lwPXRydWVcdTAwMjZlbmFibGVfdmVfdHJhY2tlcl9rZXk9dHJ1ZVx1MDAyNmh0bWw1X3ZwOV9uZXdfbWltZT10cnVlXHUwMDI2bXdlYl9tdXRlZF9hdXRvcGxheV9hbmltYXRpb249c2hyaW5rXHUwMDI2aHRtbDVfbm90X3ZwOV9zdXBwb3J0ZWRfcXVhbGl0eV9jYXA9MFx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldF9idWZmZXJfaGVhbHRoX3NlY3M9MC41Ijt9eXRjZmcuc2V0KHsnV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR1MnOiBjb25maWdzfSk7fSkoKTs8L3NjcmlwdD4KCiAgPHNjcmlwdCA+CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgIHZhciBzZXRGaWxsZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZmlsbGVyRGF0YSA9IHsKICAgICAgICAgIGJyb3dzZTogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICdicm93c2UnCiAgICAgICAgICB9LAogICAgICAgICAgaG9tZTogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICdob21lJywKICAgICAgICAgICAgZW5kcG9pbnQ6IHsKICAgICAgICAgICAgICBjb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgIHdlYkNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgICB1cmw6ICIvIiwKICAgICAgICAgICAgICAgICAgd2ViUGFnZVR5cGU6ICJXRUJfUEFHRV9UWVBFX0JST1dTRSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHVybEVuZHBvaW50OiB7CiAgICAgICAgICAgICAgICB1cmw6ICIvIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmVzcG9uc2U6IHsKICAgICAgICAgICAgICBjb250ZW50czogewogICAgICAgICAgICAgICAgdHdvQ29sdW1uQnJvd3NlUmVzdWx0c1JlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgIHRhYnM6IFt7CiAgICAgICAgICAgICAgICAgICAgdGFiUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgY29udGVudDogewogICAgICAgICAgICAgICAgICAgICAgICByaWNoR3JpZFJlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvbnM6IFt7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0Q29udGludWF0aW9uRGF0YToge2NvbnRpbnVhdGlvbjogJyd9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBzZWFyY2g6IHsKICAgICAgICAgICAgZmlsbGVyOiB0cnVlLAogICAgICAgICAgICBwYWdlOiAnc2VhcmNoJywKICAgICAgICAgICAgZW5kcG9pbnQ6IHsKICAgICAgICAgICAgICBjb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgIHdlYkNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgICB1cmw6ICIvcmVzdWx0cyIsCiAgICAgICAgICAgICAgICAgIHdlYlBhZ2VUeXBlOiAiV0VCX1BBR0VfVFlQRV9TRUFSQ0giCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB1cmxFbmRwb2ludDogewogICAgICAgICAgICAgICAgdXJsOiAiL3Jlc3VsdHMiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5TZWFyY2hSZXN1bHRzUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgcHJpbWFyeUNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbkxpc3RSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IFtdLAogICAgICAgICAgICAgICAgICAgICAgc3ViTWVudTogewogICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hTdWJNZW51UmVuZGVyZXI6IHt9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICBzZWNvbmRhcnlDb250ZW50czogewogICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeVNlYXJjaENvbnRhaW5lclJlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB3YXRjaDogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICd3YXRjaCcsCiAgICAgICAgICAgIGVuZHBvaW50OiB7CiAgICAgICAgICAgICAgY29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICB3ZWJDb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgICAgdXJsOiAiL3dhdGNoIiwKICAgICAgICAgICAgICAgICAgd2ViUGFnZVR5cGU6ICJXRUJfUEFHRV9UWVBFX1dBVENIIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgdXJsRW5kcG9pbnQ6IHsKICAgICAgICAgICAgICAgIHVybDogIi93YXRjaCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHBsYXllclJlc3BvbnNlOiB7CiAgICAgICAgICAgICAgcGxheWFiaWxpdHlTdGF0dXM6IHsKICAgICAgICAgICAgICAgIHN0YXR1czogJ09LJwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmVzcG9uc2U6IHsKICAgICAgICAgICAgICBjb250ZW50czogewogICAgICAgICAgICAgICAgdHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0czogewogICAgICAgICAgICAgICAgICByZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgICAgcmVzdWx0czogewogICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IFt7CiAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvUHJpbWFyeUluZm9SZW5kZXJlcjoge30sCiAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvU2Vjb25kYXJ5SW5mb1JlbmRlcmVyOiB7fQogICAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHNlY29uZGFyeVJlc3VsdHM6IHsKICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnlSZXN1bHRzOiB7fQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93Lnl0Y2ZnLnNldCgnRklMTEVSX0RBVEEnLCBmaWxsZXJEYXRhKTsKICAgICAgfTsKCiAgICAgICAgd2luZG93LmdldFBhZ2VEYXRhID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInByIiwgbnVsbCwgJycpO30KICAgICAgICAgIHZhciBlbmRwb2ludCA9IG51bGw7CiAgICAgICAgICAgIGVuZHBvaW50ID0geyJjb21tYW5kTWV0YWRhdGEiOnsid2ViQ29tbWFuZE1ldGFkYXRhIjp7InVybCI6Ii93YXRjaD92PVNVa1h2V24xbTdRIiwid2ViUGFnZVR5cGUiOiJXRUJfUEFHRV9UWVBFX1VOS05PV04iLCJyb290VmUiOjgzNzY5fX0sInVybEVuZHBvaW50Ijp7InVybCI6Ii93YXRjaD92PVNVa1h2V24xbTdRIn19OwogICAgICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgICAgICAgcGFnZTogIndhdGNoIiwKICAgICAgICAgICAgICBwbGF5ZXI6IHl0cGxheWVyLmNvbmZpZywKICAgICAgICAgICAgICBwbGF5ZXJSZXNwb25zZTogd2luZG93Lnl0SW5pdGlhbFBsYXllclJlc3BvbnNlLAogICAgICAgICAgICAgICAgdXJsOiAiXC93YXRjaD92PVNVa1h2V24xbTdRIiwKICAgICAgICAgICAgICByZXNwb25zZTogd2luZG93Lnl0SW5pdGlhbERhdGEsCiAgICAgICAgICAgICAgZW5kcG9pbnQ6IGVuZHBvaW50CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgZGF0YTogZGF0YSwKICAgICAgICAgICAgZW5kcG9pbnQ6IGVuZHBvaW50CiAgICAgICAgICB9OwogICAgICAgIH07CgogICAgICAgIGlmICh3aW5kb3cubG9hZERhdGFIb29rKSB7CiAgICAgICAgICB2YXIgcGFnZURhdGEgPSB3aW5kb3cuZ2V0UGFnZURhdGEoKTsKICAgICAgICAgIHdpbmRvdy5sb2FkRGF0YUhvb2socGFnZURhdGEuZW5kcG9pbnQsIHBhZ2VEYXRhLmRhdGEpOwogICAgICAgICAgd2luZG93LmxvYWREYXRhSG9vayA9IG51bGw7CiAgICAgICAgfQogICAgICAgIHNldEZpbGxlcigpOwoKICAgIH0pKCk7CgogICAgICB2YXIgbWV0YSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGEnKTsKICAgICAgbWV0YS5uYW1lID0gJ3JlZmVycmVyJzsKICAgICAgbWV0YS5jb250ZW50ID0gJ29yaWdpbic7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobWV0YSk7CiAgICAgIHZhciBub2luZGV4TWV0YSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGEnKTsKICAgICAgbWV0YS5uYW1lID0gJ3JvYm90cyc7CiAgICAgIG1ldGEuY29udGVudCA9ICdub2luZGV4JzsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChtZXRhKTsKCiAgPC9zY3JpcHQ+CiAgCjxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kuaW5mbygic3QiLCAxMTYsICcnKTt9PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4=
|
57
|
+
http_version:
|
58
|
+
recorded_at: Tue, 27 Oct 2020 18:33:35 GMT
|
59
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,114 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=youtube_api_key_123&part=snippet,statistics,status,contentDetails
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- VideoInfo/2.8.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json; charset=UTF-8
|
23
|
+
Vary:
|
24
|
+
- Origin
|
25
|
+
- Referer
|
26
|
+
- X-Origin
|
27
|
+
Date:
|
28
|
+
- Tue, 27 Oct 2020 18:33:52 GMT
|
29
|
+
Server:
|
30
|
+
- scaffolding on HTTPServer2
|
31
|
+
Cache-Control:
|
32
|
+
- private
|
33
|
+
X-Xss-Protection:
|
34
|
+
- '0'
|
35
|
+
X-Frame-Options:
|
36
|
+
- SAMEORIGIN
|
37
|
+
X-Content-Type-Options:
|
38
|
+
- nosniff
|
39
|
+
Alt-Svc:
|
40
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
41
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
42
|
+
ma=2592000; v="46,43"
|
43
|
+
Transfer-Encoding:
|
44
|
+
- chunked
|
45
|
+
body:
|
46
|
+
encoding: ASCII-8BIT
|
47
|
+
string: |
|
48
|
+
{
|
49
|
+
"items": []
|
50
|
+
}
|
51
|
+
http_version:
|
52
|
+
recorded_at: Tue, 27 Oct 2020 18:33:52 GMT
|
53
|
+
- request:
|
54
|
+
method: get
|
55
|
+
uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=%3Cyoutube_api_key_123%3E&part=snippet,statistics,status,contentDetails
|
56
|
+
body:
|
57
|
+
encoding: US-ASCII
|
58
|
+
string: ''
|
59
|
+
headers:
|
60
|
+
User-Agent:
|
61
|
+
- VideoInfo/2.8.0
|
62
|
+
Accept-Encoding:
|
63
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
64
|
+
Accept:
|
65
|
+
- "*/*"
|
66
|
+
response:
|
67
|
+
status:
|
68
|
+
code: 400
|
69
|
+
message: Bad Request
|
70
|
+
headers:
|
71
|
+
Vary:
|
72
|
+
- Origin
|
73
|
+
- Referer
|
74
|
+
- X-Origin
|
75
|
+
Content-Type:
|
76
|
+
- application/json; charset=UTF-8
|
77
|
+
Date:
|
78
|
+
- Tue, 27 Oct 2020 18:44:59 GMT
|
79
|
+
Server:
|
80
|
+
- scaffolding on HTTPServer2
|
81
|
+
Cache-Control:
|
82
|
+
- private
|
83
|
+
X-Xss-Protection:
|
84
|
+
- '0'
|
85
|
+
X-Frame-Options:
|
86
|
+
- SAMEORIGIN
|
87
|
+
X-Content-Type-Options:
|
88
|
+
- nosniff
|
89
|
+
Alt-Svc:
|
90
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
91
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
92
|
+
ma=2592000; v="46,43"
|
93
|
+
Transfer-Encoding:
|
94
|
+
- chunked
|
95
|
+
body:
|
96
|
+
encoding: ASCII-8BIT
|
97
|
+
string: |
|
98
|
+
{
|
99
|
+
"error": {
|
100
|
+
"code": 400,
|
101
|
+
"message": "API key not valid. Please pass a valid API key.",
|
102
|
+
"errors": [
|
103
|
+
{
|
104
|
+
"message": "API key not valid. Please pass a valid API key.",
|
105
|
+
"domain": "global",
|
106
|
+
"reason": "badRequest"
|
107
|
+
}
|
108
|
+
],
|
109
|
+
"status": "INVALID_ARGUMENT"
|
110
|
+
}
|
111
|
+
}
|
112
|
+
http_version:
|
113
|
+
recorded_at: Tue, 27 Oct 2020 18:44:59 GMT
|
114
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,59 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.youtube.com/watch?v=SUkXvWn1m7Q
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Cache-Control:
|
22
|
+
- no-cache
|
23
|
+
X-Content-Type-Options:
|
24
|
+
- nosniff
|
25
|
+
P3p:
|
26
|
+
- CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=pt-BR
|
27
|
+
for more info."
|
28
|
+
X-Frame-Options:
|
29
|
+
- SAMEORIGIN
|
30
|
+
Expires:
|
31
|
+
- Tue, 27 Apr 1971 19:44:06 GMT
|
32
|
+
Strict-Transport-Security:
|
33
|
+
- max-age=31536000
|
34
|
+
Content-Type:
|
35
|
+
- text/html; charset=utf-8
|
36
|
+
Date:
|
37
|
+
- Tue, 27 Oct 2020 18:33:33 GMT
|
38
|
+
Server:
|
39
|
+
- YouTube Frontend Proxy
|
40
|
+
X-Xss-Protection:
|
41
|
+
- '0'
|
42
|
+
Set-Cookie:
|
43
|
+
- GPS=1; path=/; domain=.youtube.com; expires=Tue, 27-Oct-2020 19:03:33 GMT
|
44
|
+
- VISITOR_INFO1_LIVE=5YFsz_AnqPM; path=/; domain=.youtube.com; secure; expires=Sun,
|
45
|
+
25-Apr-2021 18:33:33 GMT; httponly; samesite=None
|
46
|
+
- YSC=NDkQzQ7c1hY; path=/; domain=.youtube.com; secure; httponly; samesite=None
|
47
|
+
Alt-Svc:
|
48
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
49
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
50
|
+
ma=2592000; v="46,43"
|
51
|
+
Transfer-Encoding:
|
52
|
+
- chunked
|
53
|
+
body:
|
54
|
+
encoding: ASCII-8BIT
|
55
|
+
string: !binary |-
|
56
|
+
PCFkb2N0eXBlIGh0bWw+PGh0bWwgIHN0eWxlPSJmb250LXNpemU6IDEwcHg7Zm9udC1mYW1pbHk6IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IiBsYW5nPSJwdC1CUiIgZGlyPSJsdHIiIGdsPSJCUiI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIwLTEwLTIzIiBjb250ZW50PSJBaGJtUkRBU1k3TnVPWkQ5Y0ZNZ1FpaForbVFwQ3dhOFdUR2RUeDgydlNhcjlkZEJRYnppQmZaWFpnK1Njb2Z2RVpEZEhRTkNFd3o0eU03SGpCUzlSZ2tBQUFCbmV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwzbHZkWFIxWW1VdVkyOXRPalEwTXlJc0ltWmxZWFIxY21VaU9pSlhaV0pEYjIxd2IyNWxiblJ6VmpBaUxDSmxlSEJwY25raU9qRTJNRE0wT0RZNE5UWXNJbWx6VTNWaVpHOXRZV2x1SWpwMGNuVmxmUT09Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMC0xMC0yNyIgY29udGVudD0iQXYyKzFxZlVwM013RWZBRmNDY2N5a1MxcUZtdkxpQ3JNWi8vcEhRS25SWldHOWRsZFZvOEhZdUptR2oyd1o3bkRnK3hFNFJRTVErS3UxektNM1B2WUFJQUFBQm1leUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pTNWpiMjA2TkRReklpd2labVZoZEhWeVpTSTZJbGRsWWtOdmJYQnZibVZ1ZEhOV01DSXNJbVY0Y0dseWVTSTZNVFl3TXpnek5qYzNNaXdpYVhOVGRXSmtiMjFoYVc0aU9uUnlkV1Y5Ij48bWV0YSBodHRwLWVxdWl2PSJvcmlnaW4tdHJpYWwiIGRhdGEtZmVhdHVyZT0iV2ViIENvbXBvbmVudHMgVjAiIGRhdGEtZXhwaXJlcz0iMjAyMS0wMS0wOCIgY29udGVudD0iQWl4VUsrOFVFU2hsdDYrSlgxd3k5ZWcrWEwrZVY1UFlTRURQSDNDOTBKTlZiSWtFMVJnMUZ5VlVmdTJiWi95NlBtMXhiUEx6dXdIWUhqdjR1S1BObkE0QUFBQnFleUp2Y21sbmFXNGlPaUpvZEhSd2N6b3ZMMmR2YjJkc1pYQnliMlF1WTI5dE9qUTBNeUlzSW1abFlYUjFjbVVpT2lKWFpXSkRiMjF3YjI1bGJuUnpWakFpTENKbGVIQnBjbmtpT2pFMk1UQXdOalEwTWpNc0ltbHpVM1ZpWkc5dFlXbHVJanAwY25WbGZRPT0iPjxtZXRhIGh0dHAtZXF1aXY9Im9yaWdpbi10cmlhbCIgZGF0YS1mZWF0dXJlPSJXZWIgQ29tcG9uZW50cyBWMCIgZGF0YS1leHBpcmVzPSIyMDIxLTAzLTA5IiBjb250ZW50PSJBaEhwcTJuVVQ2ZnFQMEtta3E0OUVXSWNsMlAxTEsxY2VVMDVCb2lWbldpOFpJV0RkbVgva013TCtadHVDM29JZjB0bnM4WG5PNWZtOTQ2SkV6UFZFd2dBQUFCcWV5SnZjbWxuYVc0aU9pSm9kSFJ3Y3pvdkwyTXVaMjl2WjJ4bGNuTXVZMjl0T2pRME15SXNJbVpsWVhSMWNtVWlPaUpYWldKRGIyMXdiMjVsYm5SelZqQWlMQ0psZUhCcGNua2lPakUyTVRJeU1qTTVPVGtzSW1selUzVmlaRzl0WVdsdUlqcDBjblZsZlE9PSI+PHNjcmlwdCA+dmFyIHl0Y2ZnID0ge2Q6IGZ1bmN0aW9uKCkge3JldHVybiAod2luZG93Lnl0ICYmIHl0LmNvbmZpZ18pIHx8IHl0Y2ZnLmRhdGFfIHx8ICh5dGNmZy5kYXRhXyA9IHt9KTt9LGdldDogZnVuY3Rpb24oaywgbykge3JldHVybiAoayBpbiB5dGNmZy5kKCkpID8geXRjZmcuZCgpW2tdIDogbzt9LHNldDogZnVuY3Rpb24oKSB7dmFyIGEgPSBhcmd1bWVudHM7aWYgKGEubGVuZ3RoID4gMSkge3l0Y2ZnLmQoKVthWzBdXSA9IGFbMV07fSBlbHNlIHtmb3IgKHZhciBrIGluIGFbMF0pIHt5dGNmZy5kKClba10gPSBhWzBdW2tdO319fX07d2luZG93Lnl0Y2ZnLnNldCgnRU1FUkdFTkNZX0JBU0VfVVJMJywgIlwvZXJyb3JfMjA0P2NsaWVudC5uYW1lPTFcdTAwMjZjbGllbnQudmVyc2lvbj0yLjIwMjAxMDIzLjAyLjAwXHUwMDI2bGV2ZWw9RVJST1JcdTAwMjZ0PWpzZXJyb3IiKTs8L3NjcmlwdD4gIAo8c2NyaXB0ID52YXIgJGpzY29tcD0kanNjb21wfHx7fTskanNjb21wLnNjb3BlPXt9OyRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGw9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19OyRqc2NvbXAuYXJyYXlJdGVyYXRvcj1mdW5jdGlvbihhKXtyZXR1cm57bmV4dDokanNjb21wLmFycmF5SXRlcmF0b3JJbXBsKGEpfX07JGpzY29tcC5BU1NVTUVfRVM1PSExOyRqc2NvbXAuQVNTVU1FX05PX05BVElWRV9NQVA9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX1NFVD0hMTskanNjb21wLlNJTVBMRV9GUk9VTkRfUE9MWUZJTEw9ITE7JGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz0hMTskanNjb21wLkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTj0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpO307JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAuSVNfU1lNQk9MX05BVElWRT0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sKCJ4Iik7JGpzY29tcC5UUlVTVF9FUzZfUE9MWUZJTExTPSEkanNjb21wLklTT0xBVEVfUE9MWUZJTExTfHwkanNjb21wLklTX1NZTUJPTF9OQVRJVkU7JGpzY29tcC5wb2x5ZmlsbHM9e307JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2w9e307JGpzY29tcC5QT0xZRklMTF9QUkVGSVg9IiRqc2NwJCI7JGpzY29tcC5wb2x5ZmlsbD1mdW5jdGlvbihhLGIsZCxlKXtiJiYoJGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz8kanNjb21wLnBvbHlmaWxsSXNvbGF0ZWQoYSxiLGQsZSk6JGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQoYSxiLGQsZSkpfTsKJGpzY29tcC5wb2x5ZmlsbFVuaXNvbGF0ZWQ9ZnVuY3Rpb24oYSxiKXt2YXIgZD0kanNjb21wLmdsb2JhbDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGU9MDtlPGEubGVuZ3RoLTE7ZSsrKXt2YXIgYz1hW2VdO2lmKCEoYyBpbiBkKSlyZXR1cm47ZD1kW2NdfWE9YVthLmxlbmd0aC0xXTtlPWRbYV07Yj1iKGUpO2IhPWUmJm51bGwhPWImJiRqc2NvbXAuZGVmaW5lUHJvcGVydHkoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKJGpzY29tcC5wb2x5ZmlsbElzb2xhdGVkPWZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLnNwbGl0KCIuIik7YT0xPT09ZS5sZW5ndGg7dmFyIGM9ZVswXTtjPSFhJiZjIGluICRqc2NvbXAucG9seWZpbGxzPyRqc2NvbXAucG9seWZpbGxzOiRqc2NvbXAuZ2xvYmFsO2Zvcih2YXIgZj0wO2Y8ZS5sZW5ndGgtMTtmKyspe3ZhciBnPWVbZl07aWYoIShnIGluIGMpKXJldHVybjtjPWNbZ119ZT1lW2UubGVuZ3RoLTFdO2Q9JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFJiYiZXM2Ij09PWQ/Y1tlXTpudWxsO2I9YihkKTtudWxsIT1iJiYoYT8kanNjb21wLmRlZmluZVByb3BlcnR5KCRqc2NvbXAucG9seWZpbGxzLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSk6YiE9PWQmJigkanNjb21wLnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbFtlXT0kanNjb21wLklTX1NZTUJPTF9OQVRJVkU/JGpzY29tcC5nbG9iYWwuU3ltYm9sKGUpOiRqc2NvbXAuUE9MWUZJTExfUFJFRklYK2UsCmU9JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbZV0sJGpzY29tcC5kZWZpbmVQcm9wZXJ0eShjLGUse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSkpKX07JGpzY29tcC5pbml0U3ltYm9sPWZ1bmN0aW9uKCl7fTsKJGpzY29tcC5wb2x5ZmlsbCgiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGMsZil7dGhpcy4kanNjb21wJHN5bWJvbCRpZF89YzskanNjb21wLmRlZmluZVByb3BlcnR5KHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kanNjb21wJHN5bWJvbCRpZF99O3ZhciBkPTAsZT1mdW5jdGlvbihjKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IiKTtyZXR1cm4gbmV3IGIoImpzY29tcF9zeW1ib2xfIisoY3x8IiIpKyJfIitkKyssYyl9O3JldHVybiBlfSwiZXM2IiwiZXMzIik7CiRqc2NvbXAucG9seWZpbGwoIlN5bWJvbC5pdGVyYXRvciIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTthPVN5bWJvbCgiU3ltYm9sLml0ZXJhdG9yIik7Zm9yKHZhciBiPSJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSIuc3BsaXQoIiAiKSxkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPSRqc2NvbXAuZ2xvYmFsW2JbZF1dOyJmdW5jdGlvbiI9PT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUucHJvdG90eXBlW2FdJiYkanNjb21wLmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiAkanNjb21wLml0ZXJhdG9yUHJvdG90eXBlKCRqc2NvbXAuYXJyYXlJdGVyYXRvckltcGwodGhpcykpfX0pfXJldHVybiBhfSwiZXM2IiwKImVzMyIpOyRqc2NvbXAuaXRlcmF0b3JQcm90b3R5cGU9ZnVuY3Rpb24oYSl7YT17bmV4dDphfTthW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307cmV0dXJuIGF9OyRqc2NvbXAuaXRlcmF0b3JGcm9tQXJyYXk9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBkPTAsZT0hMSxjPXtuZXh0OmZ1bmN0aW9uKCl7aWYoIWUmJmQ8YS5sZW5ndGgpe3ZhciBmPWQrKztyZXR1cm57dmFsdWU6YihmLGFbZl0pLGRvbmU6ITF9fWU9ITA7cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19O2NbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBjfTtyZXR1cm4gY307CiRqc2NvbXAucG9seWZpbGwoIkFycmF5LnByb3RvdHlwZS5rZXlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmE9ZnVuY3Rpb24oKXtyZXR1cm4gJGpzY29tcC5pdGVyYXRvckZyb21BcnJheSh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBifSl9fSwiZXM2IiwiZXMzIik7d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8ITA7d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXM9e307d2luZG93LnVuaGFuZGxlZEVycm9yQ291bnQ9MDsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsZSxjKXtjfHwoYz1FcnJvcigpLGMuc3RhY2s9IiIsYy5tZXNzYWdlPWEsYy5maWxlTmFtZT1iLGMubGluZU51bWJlcj1kLGlzTmFOKGUpfHwoYy5jb2x1bW5OdW1iZXI9ZSkpO2I9U3RyaW5nKGMubWVzc2FnZSk7aWYoISghYy5tZXNzYWdlfHxiIGluIHdpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzfHw1PD13aW5kb3cudW5oYW5kbGVkRXJyb3JDb3VudCkpe3dpbmRvdy51bmhhbmRsZWRFcnJvckNvdW50Kz0xO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW2JdPSEwO2E9bmV3IEltYWdlO3dpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nPWE7YS5vbmxvYWQ9YS5vbmVycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIHdpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nfTtlPWMubGluZU51bWJlcjtpc05hTihjLmNvbHVtbk51bWJlcil8fChlKz0iOiIrYy5jb2x1bW5OdW1iZXIpO2Q9Yy5zdGFja3x8IiI7Yj17bXNnOmIsdHlwZTpjLm5hbWUsCiJjbGllbnQucGFyYW1zIjoidW5oYW5kbGVkIHdpbmRvdyBlcnJvciIsZmlsZTpjLmZpbGVOYW1lLGxpbmU6ZSxzdGFjazpkLnN1YnN0cigwLDUwMCl9O2M9Ijxhbm9ueW1vdXM+Ij09PWMuZmlsZU5hbWU7ZD1kLnJlcGxhY2UoL2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cLy9nLCIiKTtkLm1hdGNoKC9odHRwcz86XC9cL1teL10rXC8vKSYmKGM9ITApO2MmJihiLmxldmVsPSJXQVJOSU5HIik7Yz1bd2luZG93Lnl0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZXJyb3JfMjA0P3Q9anNlcnJvciZsZXZlbD1FUlJPUiIpXTtmb3IodmFyIGYgaW4gYikoZD1iW2ZdKSYmYy5wdXNoKGYrIj0iK2VuY29kZVVSSUNvbXBvbmVudChkKSk7YS5zcmM9Yy5qb2luKCImIil9fTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShmKXt2YXIgZz10aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdO2lmKCFnKXtnPU9iamVjdC5jcmVhdGUodGhpcy5nZXROYXRpdmVQcm90b3R5cGUoZikpO2Zvcih2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cuUG9seW1lci5CYXNlKSxrPTAsaD12b2lkIDA7azxsLmxlbmd0aCYmKGg9bFtrXSk7aysrKWlmKCF3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnNbaF0pdHJ5e2dbaF09d2luZG93LlBvbHltZXIuQmFzZVtoXX1jYXRjaChtKXt0aHJvdyBFcnJvcigiRXJyb3Igd2hpbGUgY29weWluZyBwcm9wZXJ0eTogIitoKyIuIFRhZyBpcyAiK2YpO310cnl7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZyx3aW5kb3cuUG9seW1lci5CYXNlRGVzY3JpcHRvcnMpfWNhdGNoKG0pe3Rocm93IEVycm9yKCJQb2x5bWVyIGRlZmluZSBwcm9wZXJ0eSBmYWlsZWQgZm9yICIrT2JqZWN0LmtleXMoZykpO310aGlzLl9uYXRpdmVQcm90b3R5cGVzW2ZdPQpnfXJldHVybiBnfWZ1bmN0aW9uIGIoZil7d2luZG93Lm9uZXJyb3IoZix3aW5kb3cubG9jYXRpb24uaHJlZiwwLDAsRXJyb3IoQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVudHMsIiwiKSkpfXZhciBkPXdpbmRvdy5Qb2x5bWVyLGU9ZnVuY3Rpb24oZil7IWQuX3l0SW50ZXJjZXB0ZWQmJndpbmRvdy5Qb2x5bWVyLkJhc2UmJihkLl95dEludGVyY2VwdGVkPSEwLHdpbmRvdy5Qb2x5bWVyLkJhc2UuX2dldEV4dGVuZGVkTmF0aXZlUHJvdG90eXBlPWEsd2luZG93LlBvbHltZXIuQmFzZS5fZXJyb3I9Yix3aW5kb3cuUG9seW1lci5CYXNlLl93YXJuPWIpO3JldHVybiBkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywiUG9seW1lciIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csIlBvbHltZXIiLHtzZXQ6ZnVuY3Rpb24oZil7YyYmYy5zZXQmJmMuZ2V0PyhjLnNldChmKSxkPWMuZ2V0KCkpOmQ9ZjsKImZ1bmN0aW9uIj09PXR5cGVvZiBkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJQb2x5bWVyIix7dmFsdWU6ZCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMH0pfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGQ/ZTpkfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pfSkoKTsKPC9zY3JpcHQ+ICAKPHNjcmlwdCA+d2luZG93LlNoYWR5RE9NID0ge2ZvcmNlOiB0cnVlfTt3aW5kb3cuU2hhZHlET00ucHJlZmVyUGVyZm9ybWFuY2UgPSB0cnVlO3dpbmRvdy5TaGFkeURPTS5ub1BhdGNoID0gdHJ1ZTt3aW5kb3cuUG9seW1lciA9ICh3aW5kb3cuUG9seW1lciB8fCB7fSk7d2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9ucyA9IHRydWU7PC9zY3JpcHQ+PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8zMi5wbmciIHNpemVzPSIzMngzMiIgPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2ltZy9mYXZpY29uXzQ4LnBuZyIgc2l6ZXM9IjQ4eDQ4IiA+PGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvaW1nL2Zhdmljb25fOTYucG5nIiBzaXplcz0iOTZ4OTYiID48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9pbWcvZmF2aWNvbl8xNDQucG5nIiBzaXplcz0iMTQ0eDE0NCIgPjxzY3JpcHQgPnZhciB5dGNzaSA9IHtndDogZnVuY3Rpb24obikge24gPSAobiB8fCAnJykgKyAnZGF0YV8nO3JldHVybiB5dGNzaVtuXSB8fCAoeXRjc2lbbl0gPSB7dGljazoge30saW5mbzoge319KTt9LG5vdzogKHdpbmRvdy5wZXJmb3JtYW5jZSAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nICYmd2luZG93LnBlcmZvcm1hbmNlLm5vdyAmJiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCkgP2Z1bmN0aW9uKCkge3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCArd2luZG93LnBlcmZvcm1hbmNlLm5vdygpO30gOmZ1bmN0aW9uKCkge3JldHVybiAobmV3IERhdGUoKSkuZ2V0VGltZSgpO30sdGljazogZnVuY3Rpb24obCwgdCwgbikge3ZhciB0aWNrcyA9IHl0Y3NpLmd0KG4pLnRpY2s7dmFyIHYgPSB0IHx8IHl0Y3NpLm5vdygpO2lmICh0aWNrc1tsXSkge3RpY2tzWydfJyArIGxdID0gKHRpY2tzWydfJyArIGxdIHx8IFt0aWNrc1tsXV0pO3RpY2tzWydfJyArIGxdLnB1c2godik7fXRpY2tzW2xdID0gdjt9LGluZm86IGZ1bmN0aW9uKGssIHYsIG4pIHt5dGNzaS5ndChuKS5pbmZvW2tdID0gdjt9LHNldFN0YXJ0OiBmdW5jdGlvbihzLCB0LCBuKSB7eXRjc2kuaW5mbygneXRfc3RzJywgcywgbik7eXRjc2kudGljaygnX3N0YXJ0JywgdCwgbik7fX07KGZ1bmN0aW9uKHcsIGQpIHt5dGNzaS5zZXRTdGFydCgnZGhzJywgdy5wZXJmb3JtYW5jZSA/IHcucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgOiBudWxsKTt2YXIgaXNQcmVyZW5kZXIgPSAoZC52aXNpYmlsaXR5U3RhdGUgfHwgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpID09ICdwcmVyZW5kZXInO3ZhciB2TmFtZSA9ICghZC52aXNpYmlsaXR5U3RhdGUgJiYgZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPyAnd2Via2l0dmlzaWJpbGl0eWNoYW5nZScgOiAndmlzaWJpbGl0eWNoYW5nZSc7aWYgKGlzUHJlcmVuZGVyKSB7eXRjc2kuaW5mbygncHJlcmVuZGVyJywgMSk7dmFyIHN0YXJ0VGljayA9IGZ1bmN0aW9uKCkge3l0Y3NpLnNldFN0YXJ0KCdkaHMnKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljayk7fTtkLmFkZEV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGljaywgZmFsc2UpO31pZiAoZC5hZGRFdmVudExpc3RlbmVyKSB7ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLCBmdW5jdGlvbigpIHt5dGNzaS50aWNrKCd2YycpO30sIGZhbHNlKTt9ZnVuY3Rpb24gaXNHZWNrbygpIHtpZiAoIXcubmF2aWdhdG9yIHx8ICF3Lm5hdmlnYXRvci51c2VyQWdlbnQpIHtyZXR1cm4gZmFsc2U7fXZhciB1YSA9IHcubmF2aWdhdG9yLnVzZXJBZ2VudDtyZXR1cm4gdWEuaW5kZXhPZignR2Vja28nKSA+IDAgJiZ1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3dlYmtpdCcpIDwgMCAmJnVhLmluZGV4T2YoJ0VkZ2UnKSA8IDAgJiZ1YS5pbmRleE9mKCdUcmlkZW50JykgPCAwICYmdWEuaW5kZXhPZignTVNJRScpIDwgMDt9aWYgKGlzR2Vja28oKSkge3ZhciBpc0hpZGRlbiA9IChkLnZpc2liaWxpdHlTdGF0ZSB8fCBkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSkgPT0gJ2hpZGRlbic7aWYgKGlzSGlkZGVuKSB7eXRjc2kudGljaygndmMnKTt9fXZhciBzbHQgPSBmdW5jdGlvbihlbCwgdCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7dmFyIG4gPSB5dGNzaS5ub3coKTtlbC5sb2FkVGltZSA9IG47aWYgKGVsLnNsdCkge2VsLnNsdCgpO319LCB0KTt9O3cuX195dFJJTCA9IGZ1bmN0aW9uKGVsKSB7aWYgKCFlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGh1bWInKSkge2lmICh3LnJlcXVlc3RBbmltYXRpb25GcmFtZSkge3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkge3NsdChlbCwgMCk7fSk7fSBlbHNlIHtzbHQoZWwsIDE2KTt9fX07fSkod2luZG93LCBkb2N1bWVudCk7PC9zY3JpcHQ+PHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBpbWcgPSBuZXcgSW1hZ2UoKS5zcmMgPSAiaHR0cHM6Ly9pLnl0aW1nLmNvbS9nZW5lcmF0ZV8yMDQiO30pKCk7PC9zY3JpcHQ+ICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImxwY3MiLCBudWxsLCAnJyk7fShmdW5jdGlvbigpIHt3aW5kb3cueXRwbGF5ZXIgPSB7fTt5dGNmZy5zZXQoeyJGRVhQX0VYUEVSSU1FTlRTIjpbMjM3NDQxNzYsMjM4MDQyODEsMjM4Mzk1OTcsMjM4NTY5NTAsMjM4NjgzMzYsMjM4Nzg0MDksMjM4ODAwNDMsMjM4ODI1MDMsMjM4ODQzODYsMjM4OTA5NTksMjM4OTU2NzEsMjM5MTEwNTYsMjM5MTU5OTAsMjM5MTc4NzcsMjM5MTg1OTcsMjM5Mjc3NjcsMjM5Mjc3NjcsMjM5Mjg1MDgsMjM5MzAyMjAsMjM5MzQ5NzAsMjM5NDAyNDcsMjM5NDA5NzksMjM5NDIzMzgsMjM5NDI2MzMsMjM5NDQ3NzksMjM5NDU0MzksMjM5NDU0MzksMjM5NDU0NzksMjM5NDY0MjAsMjM5NDc1ODEsMjM5NDc2OTgsMjM5NDg4NDEsMjM5NDkxMDksMjM5NTAwMjMsMjM5NTExMzgsMjM5NTM4OTMsMjM5NTQzODksMjM5NTQ3NjEsMjM5NTYwNjMsMjM5NTY1MjcsMjM5NTY3NTQsMjM5NTkzNTYsMjM5NjEyOTAsMjM5NjIyMTcsMjM5NjI5MjAsMjM5NjI5NjQsMjM5NjM2MTMsMjM5NjQyNTcsMjM5NjQ0ODIsMjQ1OTAyOTAsOTQwNjAxMiw5NDQ5MjQzLDk0NjY1OTRdLCJFVkVOVF9JRCI6Il9XZVlYOGpETnBUUTVnU2k4cGFvQkEiLCJYU1JGX1RPS0VOIjoiUVVGRkxVaHFheTFMVG5CQ2NGazBRbFJ4TjFSMFZtcDBMVEJ0V2pBNU1HVXdaM3hCUTNKdGMwdHRSbW8zY1daVFpqSXhUakZEUVVoclIxcEJkakIzYzFSTWNIZHNSbFJwY0dkVU5tTkJhVzB5VGxkVmRscENXR1puTVhOUlgwNTRSVmhHTUVaM2FWSlZWWGR2Y0ZCWlZFZHBWRVpYTmpWeFRuTnlhM0pUYkVwSlgwMVZSVEEwYzJjM04xTjFNVWRPY1VwMGEwZ3dTekZXZW1KdVRrTm1PV05YV0VRMFlrTTRZMVJRYzA1b2NXVnljamxJTmxwUlozbFVVRWR1ZEZOTVREazRVbEU9IiwiR0FQSV9ISU5UX1BBUkFNUyI6Im07XC9fXC9zY3NcL2FiYy1zdGF0aWNcL19cL2pzXC9rPWdhcGkuZ2FwaS5lbi45S3k1R2YzZ1Awby5PXC9kPTFcL2N0PXpnbXNcL3JzPUFIcE9vbzludGdVZ2FWbVNLeGI2b1hzazExMTg4MGFkeWdcL209X19mZWF0dXJlc19fIiwiU1RBUlRfSU5fVEhFQVRFUl9NT0RFIjpmYWxzZSwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjAxMDIzLjAyLjAwIiwiUExBWUVSX0NTU19VUkwiOiJcL3NcL3BsYXllclwvOWI2NWU5ODBcL3d3dy1wbGF5ZXIuY3NzIiwiU1RBTVBFUl9TVEFCTEVfTElTVCI6dHJ1ZSwiSVNfVEFCTEVUIjpmYWxzZSwiTElWRV9DSEFUX1NFTkRfTUVTU0FHRV9BQ1RJT04iOiJsaXZlX2NoYXRcL3dhdGNoX3BhZ2VcL3NlbmQiLCJJTk5FUlRVQkVfQVBJX0tFWSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJJTk5FUlRVQkVfQ09OVEVYVF9ITCI6InB0IiwiTEFOR1VBR0UiOiJQb3J0dWd1w6pzIiwiRUxFTUVOVF9QT09MX0RFRkFVTFRfQ0FQIjo3NSwiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIjoidjEiLCJSRVVTRV9DT01QT05FTlRTIjp0cnVlLCJOT19FTVBUWV9EQVRBX0lNRyI6dHJ1ZSwiU1RBUlRfSU5fRlVMTF9XSU5ET1dfTU9ERSI6ZmFsc2UsIkxPR0dFRF9JTiI6ZmFsc2UsIlNUUyI6MTg1NjEsIkdPT0dMRV9GRUVEQkFDS19QUk9EVUNUX0RBVEEiOnsicG9seW1lcjIiOiJhY3RpdmUiLCJwb2x5bWVyIjoiYWN0aXZlIiwiYWNjZXB0X2xhbmd1YWdlIjpudWxsfSwiR09PR0xFX0ZFRURCQUNLX1BST0RVQ1RfSUQiOiI1OSIsIkdBUElfTE9DQUxFIjoicHRfQlIiLCJSRUNBUFRDSEFfVjNfU0lURUtFWSI6IjZMZWRvT2NVQUFBQUFIQTRDRkc5elJwYUNOallqMzNTWWp6UTljVHkiLCJWQVJJQU5UU19DSEVDS1NVTSI6ImE5NTA0ZTZkYzM1NWQ2ZGUxMjkyNThmNGRkZjFlZDQxIiwiQVNZTkNfV0FUQ0giOnRydWUsIkRJU0FCTEVfWVRfSU1HX0RFTEFZX0xPQURJTkciOmZhbHNlLCJDT1VOVFJZIjoiQnJhc2lsIiwiREVGRVJSRURfREVUQUNIIjp0cnVlLCJTRVJWSUNFX1dPUktFUl9QUk9NUFRfTk9USUZJQ0FUSU9OUyI6ZmFsc2UsIlBBR0VfQ0wiOjMzODQ0MzkxMCwiVklTSVRPUl9EQVRBIjoiQ2dzMVdVWnplbDlCYm5GUVRTajl6LUg4QlElM0QlM0QiLCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSI6MSwiU0JPWF9KU19VUkwiOiJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9zXC9kZXNrdG9wXC9hOTAwMzZlYVwvanNiaW5cL3d3dy1zZWFyY2hib3gudmZsc2V0XC93d3ctc2VhcmNoYm94LmpzIiwiRElTQUJMRV9XQVJNX0xPQURTIjpmYWxzZSwiWEhSX0FQSUFSWV9IT1NUIjoieW91dHViZWkueW91dHViZS5jb20iLCJFWFBFUklNRU5UX0ZMQUdTIjp7Inlvb2RsZV9iYXNlX3VybCI6Imh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2ltZ1wvYnJhbmRpbmdcL2Rlc2t0b3BcL2dsb2JhbF90ZXN0XC95dF9sb2dvX3YxIiwibGl2ZV9jaGF0X2xpdmVfY29tbWVudGFyeV9tb2RlIjp0cnVlLCJwbGF5ZXJfYWxsb3dfYXV0b25hdl9hZnRlcl9wbGF5bGlzdCI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbl9idXR0b25fc2hvd25fdGhyZXNob2xkIjoxMCwia2V2bGFyX2V4aXRfZnVsbHNjcmVlbl9sZWF2aW5nX3dhdGNoIjp0cnVlLCJlbmFibGVfb2ZmZXJfc3VwcHJlc3Npb24iOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfZW5hYmxlZCI6dHJ1ZSwiZW5hYmxlX3ZlX3RyYWNrZXJfa2V5Ijp0cnVlLCJuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cyI6MSwiZW5hYmxlX2J1dHRvbl9iZWhhdmlvcl9yZXVzZSI6dHJ1ZSwiZXh0ZXJuYWxfZnVsbHNjcmVlbl9idXR0b25fY2xpY2tfdGhyZXNob2xkIjoyLCJrZXZsYXJfYXV0b25hdl9wb3B1cF9maWx0ZXJpbmciOnRydWUsInlvb2RsZV9lbmRfdGltZSI6IiIsImRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbiI6dHJ1ZSwia2V2bGFyX3BsYXlsaXN0X2RyYWdfaGFuZGxlcyI6dHJ1ZSwid2ViX3Jlc3BvbnNlX3Byb2Nlc3Nvcl9zdXBwb3J0Ijp0cnVlLCJrZXZsYXJfanNfZml4ZXMiOnRydWUsInZpc2liaWxpdHlfdGltZV9iZXR3ZWVuX2pvYnNfbXMiOjEwMCwia2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucyI6dHJ1ZSwia2V2bGFyX2hpZGVfcHBfdXJsX3BhcmFtIjp0cnVlLCJkZXNrdG9wX2tleWJvYXJkX2NhcHR1cmVfa2V5ZG93bl9raWxsc3dpdGNoIjp0cnVlLCJrZXZsYXJfcmVwb3NpdGlvbl9ndWlkZV9odG1sIjp0cnVlLCJrZXZsYXJfdHJhbnNjcmlwdF9lbmdhZ2VtZW50X3BhbmVsIjp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ19hbGJ1bSI6dHJ1ZSwiZmlsbF93ZWJfcGxheWVyX2NvbnRleHRfY29uZmlnIjp0cnVlLCJrZXZsYXJfZW5hYmxlX3NsaXMiOnRydWUsInBvbHltZXJfcmVwb3J0X21pc3Npbmdfd2ViX25hdmlnYXRpb25fZW5kcG9pbnRfcmF0ZSI6MC4wMDEsInlvb2RsZV9lbmRfdGltZV91dGMiOjE2MDM4NzkxOTksInBvbHltZXIyX3BvbHlmaWxsX21hbnVhbF9mbHVzaCI6dHJ1ZSwic2VhcmNoYm94X3JlcG9ydGluZyI6dHJ1ZSwia2V2bGFyX2d1aWRlX3JlZnJlc2giOnRydWUsImtldmxhcl9zZXR0aW5nc19ub3RpZmljYXRpb25zIjp0cnVlLCJ3ZWJfeXRfY29uZmlnX2NvbnRleHQiOnRydWUsImtldmxhcl9nYWlhX2xpbmsiOnRydWUsImRlc2t0b3BfcGVyc2lzdGVudF9tZW51Ijp0cnVlLCJrZXZsYXJfdHJhbnNjcmlwdF9wYW5lbF9yZWZyZXNoZWRfc3R5bGVzIjp0cnVlLCJ3ZWJfc2NyZWVuX2Fzc29jaWF0ZWRfYWxsX2xheWVycyI6dHJ1ZSwid2ViX2Fsd2F5c19sb2FkX2NoYXRfc3VwcG9ydCI6dHJ1ZSwid2ViX2RlcHJlY2F0ZV9zZXJ2aWNlX2FqYXhfbWFwX2RlcGVuZGVuY3kiOnRydWUsIndlYl9wbGF5ZXJfd2F0Y2hfbmV4dF9yZXNwb25zZSI6dHJ1ZSwibGl2ZV9jaGF0X292ZXJfcGxheWxpc3QiOnRydWUsImtldmxhcl9wbGF5ZXJfd2F0Y2hfZW5kcG9pbnRfbmF2aWdhdGlvbiI6dHJ1ZSwic2VydmljZV93b3JrZXJfc2NvcGUiOiJcLyIsIndlYl9sb2dnaW5nX21heF9iYXRjaCI6MTUwLCJrZXZsYXJfY2xpZW50X3NpZGVfc2NyZWVucyI6dHJ1ZSwia2V2bGFyX3RpbWVfY2FjaGluZ19lbmRfdGhyZXNob2xkIjoxNSwiZW5hYmxlX2FscGFjYV9jbGllbnRfcGxheWVyX2NoYW5nZXMiOnRydWUsImtldmxhcl9taW5pcGxheWVyX25vX3VwZGF0ZV9vbl9kZWFjdGl2YXRlIjp0cnVlLCJpbmNsdWRlX2F1dG9wbGF5X2NvdW50X2luX3BsYXlsaXN0cyI6dHJ1ZSwiZW5hYmxlX3NpZ25hbHMiOnRydWUsInVzZXJfZW5nYWdlbWVudF9leHBlcmltZW50c19yYXRlX2xpbWl0X21zIjo4NjQwMDAwMCwia2V2bGFyX29wX21pZ3JhdGlvbl95cGMiOnRydWUsImtldmxhcl9taW5pcGxheWVyX3F1ZXVlX3VzZXJfYWN0aXZhdGlvbiI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9sb2dnZWRfb3V0X3Byb21wdF93YXRjaGVzIjotMSwiZGVjb3JhdGVfYXV0b3BsYXlfcmVuZGVyZXIiOnRydWUsImtldmxhcl9pbmNsdWRlX3F1ZXJ5X2luX3NlYXJjaF9lbmRwb2ludCI6dHJ1ZSwid2ViX2xvZ19jb25uZWN0aW9uIjp0cnVlLCJjdXN0b21fY3NpX3RpbWVsaW5lX3VzZV9nZWwiOnRydWUsImRlZmVyX21lbnVzIjp0cnVlLCJsaXZlX2NoYXRfaXRmZV9lbmRwb2ludF9taWdyYXRpb24iOnRydWUsImRlc2t0b3Bfc2VhcmNoX3Byb21pbmVudF90aHVtYnMiOnRydWUsImxpdmVfY2hhdF9jbGllbnRfdXJsIjp0cnVlLCJuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWwiOjMwMDAwLCJrZXZsYXJfd2F0Y2hfc2tlbGV0b24iOnRydWUsInJldHJ5X3dlYl9sb2dnaW5nX2JhdGNoZXMiOnRydWUsImtldmxhcl91c2VfcGFnZV9kYXRhX3dpbGxfdXBkYXRlIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9zdWJzY3JpYmVfd2l0aF92YXBpZF9rZXkiOnRydWUsImRpc2FibGVfc2ltcGxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwid2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3QiOltdLCJwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHMiOnRydWUsImtldmxhcl9zZXR0aW5nc19iaWxsaW5nIjp0cnVlLCJtYXhfZHVyYXRpb25fdG9fY29uc2lkZXJfbW91c2VvdmVyX2FzX2hvdmVyIjo2MDAwMDAsImRlc2t0b3BfcHl2X29uX3dhdGNoX21pc3NpbmdfcGFyYW1zIjp0cnVlLCJsaXZlX2NoYXRfY29udGludWF0aW9uc19taWdyYXRpb24iOnRydWUsImRpc2FibGVfbGVnYWN5X2Rlc2t0b3BfcmVtb3RlX3F1ZXVlX3dhdGNoIjp0cnVlLCJrZXZsYXJfbG9nX25hdGl2ZV9yaWdodF9jbGlja192ZSI6dHJ1ZSwia2V2bGFyX21vdXNlZG93bl9wcmVmZXRjaGFibGVfY29tcG9uZW50cyI6W10sImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiOnRydWUsInByZXZpZXdfcGxheV9kdXJhdGlvbiI6MzAwMCwiYXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudCI6LTEsImtldmxhcl9jZW50ZXJfc2VhcmNoX3Jlc3VsdHMiOnRydWUsIm1pbmltdW1fZHVyYXRpb25fdG9fY29uc2lkZXJfbW91c2VvdmVyX2FzX2hvdmVyIjo1MDAsImxpdmVfY2hhdF9pbmNyZWFzZWRfbWluX2hlaWdodCI6dHJ1ZSwia2V2bGFyX2NoYW5uZWxfdHJhaWxlcl9tdWx0aV9hdHRhY2giOnRydWUsInJlbmRlcl9taWNyb2Zvcm1hdF9pbl9oZWFkIjp0cnVlLCJhdXRvZXNjYXBlX3RlbXBkYXRhX3VybCI6dHJ1ZSwiZW5hYmxlX3RvcHNvaWxfd3RhX2Zvcl9oYWxmdGltZSI6dHJ1ZSwia2V2bGFyX2ZhbGxiYWNrX3RvX3BhZ2VfZGF0YV9yb290X3ZlIjp0cnVlLCJkZWZlcl9yZW5kZXJpbmdfb3V0c2lkZV92aXNpYmxlX2FyZWEiOnRydWUsImVuYWJsZV9wbGF5ZXJfbWljcm9mb3JtYXRfZGF0YSI6dHJ1ZSwic2VydmVfY3Jvc3N3YWxrX2NvbXBsaWFudF9wZHAiOnRydWUsImtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW0iOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2NhcCI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfaG9tZV9wYWdlX3Byb21wdCI6dHJ1ZSwic2hvdWxkX2NsZWFyX3ZpZGVvX2RhdGFfb25fcGxheWVyX2N1ZWRfdW5zdGFydGVkIjp0cnVlLCJsaXZlX2NoYXRfdXNlX3lvdXR1YmVfaG9zdGVkX3RhbmdvX2RvbWFpbnMiOnRydWUsImhpZ2hfcHJpb3JpdHlfZmx5b3V0X2ZyZXF1ZW5jeSI6Mywid2ViX25ldHdvcmtfY29tYmluZWRfY2F0Y2giOnRydWUsImtldmxhcl9hbGxvd19wbGF5bGlzdF9yZW9yZGVyIjp0cnVlLCJlbmFibGVfZGV2aWNlX2ZvcndhcmRpbmdfZnJvbV94aHJfY2xpZW50Ijp0cnVlLCJrZXZsYXJfaG9tZV9za2VsZXRvbiI6dHJ1ZSwiYm90Z3VhcmRfcGVyaW9kaWNfcmVmcmVzaCI6dHJ1ZSwia2V2bGFyX2JhY2tncm91bmRfY29sb3JfdXBkYXRlIjp0cnVlLCJleHRlcm5hbF9mdWxsc2NyZWVuIjp0cnVlLCJwbGF5bGlzdF9yZW1vdmVfd2F0Y2hlZCI6dHJ1ZSwicG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZSI6dHJ1ZSwia2V2bGFyX3VzZV9hbHBoYV9pbl9jb2xvcl9wYWxldHRlcyI6dHJ1ZSwic2hvd19naG9zdF9jYXJkX2NvbnRpbnVhdGlvbnMiOjAsImtldmxhcl9hcHBseV9wcmVmZXJzX2NvbG9yX3RoZW1lIjp0cnVlLCJrZXZsYXJfbG9nX3ByZWZlcnNfY29sb3JfdGhlbWUiOnRydWUsInBlcnNpc3RlbnRfbWluaXBsYXllciI6dHJ1ZSwid2ViX2dlbF90aW1lb3V0X2NhcCI6dHJ1ZSwiYXBwX3NldHRpbmdzX3NuYXBzaG90X21pbl90aW1lX2JldHdlZW5fc25hcHNob3RzX2hvdXJzIjoyNCwibG9nX2pzX2Vycm9yX2NsdXN0ZXJzIjoxLjAsImVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3MiOnRydWUsInBvbHltZXJfdGFza19tYW5hZ2VyX3N0YXR1cyI6InByb2R1Y3Rpb24iLCJjc2lfb25fZ2VsIjp0cnVlLCJrZXZsYXJfcGFnZV9zZXJ2aWNlX3VybF9wcmVmaXhfY2FydmVvdXRzIjpbXSwia2V2bGFyX3RodW1ibmFpbF9mbHlvdXRfZGVsYXkiOjMwMCwid2ViX3JlZnJlc2hfaW5mb19wYW5lbCI6dHJ1ZSwiZGlzYWJsZV9sZWdhY3lfZGVza3RvcF9yZW1vdGVfcXVldWUiOnRydWUsInJlbmRlcl9iYXNlX3RhZ3NfaG9tZV9wYWdlIjp0cnVlLCJ3ZWJfbGlmZWN5Y2xlcyI6dHJ1ZSwiZGVza3RvcF90b3VjaF9nZXN0dXJlc191c2FnZV9sb2ciOnRydWUsImtldmxhcl9tYWNyb19tYXJrZXJzX2tleWJvYXJkX3Nob3J0Y3V0Ijp0cnVlLCJsaXZlX2NoYXRfdXNlX2ZldGNoX2NvbW1hbmQiOnRydWUsImlnbm9yZV9lbXB0eV94aHIiOnRydWUsImtldmxhcl9jbGVhcl9ub25fZGlzcGxheWFibGVfdXJsX3BhcmFtcyI6dHJ1ZSwiYXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudF9hZnRlcl9hdXRvcGxheWVkX3ZpZGVvIjotMSwia2V2bGFyX3NhdmVfcXVldWUiOnRydWUsIndlYl9wbGF5ZXJfZW5hYmxlX2lwcCI6dHJ1ZSwiZW5hYmxlX3Bvc3Rfc2NoZWR1bGluZyI6dHJ1ZSwia2V2bGFyX25pdHJhdGVfZHJpdmVuX3Rvb2x0aXBzIjp0cnVlLCJ3ZWJfZG9udF9jYW5jZWxfcGVuZGluZ19uYXZpZ2F0aW9uX3NhbWVfdXJsIjp0cnVlLCJkaXNhYmxlX3RodW1ibmFpbF9wcmVsb2FkaW5nIjp0cnVlLCJrZXZsYXJfbm9fYXV0b3Njcm9sbF9vbl9wbGF5bGlzdF9ob3ZlciI6dHJ1ZSwibm9fc3ViX2NvdW50X29uX3N1Yl9idXR0b24iOnRydWUsImtldmxhcl9mcm9udGVuZF9xdWV1ZV9yZWNvdmVyIjp0cnVlLCJrZXZsYXJfZW5hYmxlX2VkaXRhYmxlX3BsYXlsaXN0cyI6dHJ1ZSwiYXV0b3BsYXlfdGltZSI6ODAwMCwicGJqX25hdmlnYXRlX2xpbWl0IjotMSwia2V2bGFyX2Zyb250ZW5kX3F1ZXVlX2F1dG9tYXRpY19yZWNvdmVyIjp0cnVlLCJrZXZsYXJfb3BfbWlncmF0aW9uX2JhdGNoXzMiOnRydWUsImtldmxhcl9vcF9taWdyYXRpb25fYmF0Y2hfMiI6dHJ1ZSwia2V2bGFyX3NldHRpbmdzX292ZXJ2aWV3Ijp0cnVlLCJndWlkZV9sZWdhbF9mb290ZXJfZW5hYmxlZF9jb3VudHJpZXMiOlsiTkwiLCJFUyJdLCJlbmFibGVfY29va2llX3JlaXNzdWVfaWZyYW1lIjp0cnVlLCJrZXZsYXJfb3BfYnJvd3NlX3NhbXBsZWRfcHJlZml4X2lkcyI6W10sImtldmxhcl90aW1lX2NhY2hpbmdfc3RhcnRfdGhyZXNob2xkIjoxNSwid2ViX2dlbF9kZWJvdW5jZV9tcyI6MTAwMDAsImRlc2t0b3Bfd2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlIjoiIiwieW91cl9kYXRhX2VudHJ5cG9pbnQiOnRydWUsImVuYWJsZV9wb2x5bWVyX3Jlc2luX21pZ3JhdGlvbiI6dHJ1ZSwiZGVza3RvcF90aGVtZWFibGVfdnVsY2FuIjp0cnVlLCJrZXZsYXJfd2F0Y2hfZHJhZ19oYW5kbGVzIjp0cnVlLCJrZXZsYXJfc25hcF9zdGF0ZV9yZWZyZXNoIjp0cnVlLCJrZXZsYXJfcGVyc2lzdGVudF9ndWlkZV93aWR0aF90aHJlc2hvbGQiOjEzMTIsImtldmxhcl9kaXNhYmxlX2Zhc3RfcGxheWVyX3NpemluZ19vbl9jaGFubmVsX3BhZ2UiOnRydWUsImRlc2t0b3BfYWRkX3RvX3BsYXlsaXN0X3JlbmRlcmVyX2RpYWxvZ19wb3B1cCI6dHJ1ZSwidXNlX3R5cGVzY3JpcHRfdHJhbnNwb3J0Ijp0cnVlLCJ5b29kbGVfc3RhcnRfdGltZSI6IiIsInNraXBfaW5pdF9wcmV2aWV3X3NlbGVjdGlvbiI6dHJ1ZSwiZW5hYmxlX3N1cGVyX3ZvZF9wcmljZV9zZWxlY3RvciI6dHJ1ZSwia2V2bGFyX2FiYW5kb25fb25fc3RvcCI6dHJ1ZSwiZW5hYmxlX21pY3JvZm9ybWF0X2RhdGEiOnRydWUsInVzZV9wbGF5ZXJfcGFyYW1zX2Zvcl9wYXNzaW5nX2Rlc2t0b3BfY29udmVyc2lvbl91cmxzIjp0cnVlLCJmaXhfZGVza3RvcF9hZHNfY3RhX2R1cF9jbGlja19waW5nIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9kZWxheV9taWNyb3NlY29uZHMiOjM4ODgwMDAwMDAwMDAsImVuYWJsZV9zZXJ2bGV0X3N0cmVhbXoiOnRydWUsImVuYWJsZV9sY3JfbmV3X2hlYWRlciI6dHJ1ZSwiaHRtbDVfZXhwZXJpbWVudF9pZF9sYWJlbCI6MCwiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2ludGVydmFsX3NlY29uZHMiOjYwLCJkZXNrdG9wX25vdGlmaWNhdGlvbl9oaWdoX3ByaW9yaXR5X2lnbm9yZV9wdXNoIjp0cnVlLCJyZW5kZXJfbWV0YV9nZW5lcmFsX3RhZ3MiOnRydWUsIndlYl9zeXN0ZW1faGVhbHRoX2ZyYWN0aW9uIjowLjAxLCJkZWJ1Z19mb3JjZWRfaW50ZXJuYWxjb3VudHJ5Y29kZSI6IiIsImtldmxhcl91c2VfZW5kcG9pbnRfZm9yX2NoYW5uZWxfY3JlYXRpb25fZm9ybSI6dHJ1ZSwia2V2bGFyX2NvcHlfcGxheWxpc3QiOnRydWUsImtldmxhcl9taW5pX2d1aWRlX3dpZHRoX3RocmVzaG9sZCI6NzkxLCJrZXZsYXJfc2V0dGluZ3Nfc2hhcmluZyI6dHJ1ZSwidmlld3BvcnRfbG9hZF9jb2xsZWN0aW9uX3dhaXRfdGltZSI6MCwidXNlX3ByZXZpZXdfc2VsZWN0aW9uX3Rvb2wiOnRydWUsImJvdGd1YXJkX2V2YWxfd2l0aF9zY3JpcHRfdGFnIjp0cnVlLCJ3YXJtX2xvYWRfbmF2X3N0YXJ0X3dlYiI6dHJ1ZSwiZW5hYmxlX2xjcl9icm9hZGNhc3RfZWRpdG9yIjp0cnVlLCJlbmFibGVfc2VydmxldF9lcnJvcnNfc3RyZWFteiI6dHJ1ZSwidXNlcl9tZW50aW9uX3N1Z2dlc3Rpb25zX2VkdV9pbXByZXNzaW9uX2NhcCI6MTAsImtldmxhcl9kcm9wcGFibGVfcHJlZmV0Y2hhYmxlX3JlcXVlc3RzIjp0cnVlLCJwZGdfZW5hYmxlX3NpZ25faW5fbW9kYWxfZm9yX3N1cGVyX3ZvZCI6dHJ1ZSwicG9seW1lcjJfbm90X3NoYWR5X2J1aWxkIjp0cnVlLCJrZXZsYXJfbWVudV9yZWZyZXNoIjp0cnVlLCJyZW5kZXJfc2NoZW1hX29yZ190YWdzIjp0cnVlLCJrZXZsYXJfdG9vbHRpcF9pbXByZXNzaW9uX2NhcCI6MiwiZGVza3RvcF9hZGp1c3RfdG91Y2hfdGFyZ2V0Ijp0cnVlLCJrZXZsYXJfcGxheWVyX3BsYXlsaXN0X3VzZV9sb2NhbF9pbmRleCI6dHJ1ZSwiYm90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcyI6MzAwMCwic3VwcHJlc3NfZ2VuXzIwNCI6dHJ1ZSwiZW5hYmxlX2NhbGxfdG9fYWN0aW9uX2NsYXJpZmljYXRpb25fcmVuZGVyZXJfYm90dG9tX3NlY3Rpb25fY29uZGl0aW9ucyI6dHJ1ZSwicGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2UiOnRydWUsImtldmxhcl9uZXh0X2NvbGRfb25fYXV0aF9jaGFuZ2VfZGV0ZWN0ZWQiOnRydWUsImtldmxhcl9sYXp5X2xpc3RfcmVzdW1lX2Zvcl9hdXRvZmlsbCI6dHJ1ZSwibG9nX3Zpc19vbl90YWJfY2hhbmdlIjp0cnVlLCJjb25zZW50X3VybF9vdmVycmlkZSI6IiIsImtldmxhcl9wbGF5bGlzdF9jb2xsYXBzaWJsZSI6dHJ1ZSwia2V2bGFyX2RlcHJlY2F0ZWRfdGlja2VyIjp0cnVlLCJrZXZsYXJfY2hhbm5lbHNfcGxheWVyX2hhbmRsZV9taXNzaW5nX3N3ZmNvbmZpZyI6dHJ1ZSwia2V2bGFyX2F1dG9mb2N1c19tZW51X29uX2tleWJvYXJkX25hdiI6dHJ1ZSwiZW5hYmxlX2JvcmRlcnNfb25fY29tbXVuaXR5Ijp0cnVlLCJvdmVyd3JpdGVfcG9seWZpbGxfb25fbG9nZ2luZ19saWJfbG9hZGVkIjp0cnVlLCJlbmFibGVfc2VydmljZV9hamF4X2NzbiI6dHJ1ZSwia2V2bGFyX2hpZGVfdGltZV9jb250aW51ZV91cmxfcGFyYW0iOnRydWUsImNsaWVudF9zdHJlYW16X3dlYl9mbHVzaF9jb3VudCI6MTAwLCJ3ZWJfZW11bGF0ZWRfaWRsZV9jYWxsYmFja19kZWxheSI6MCwia2V2bGFyX2hlbHBfdXNlX2xvY2FsZSI6dHJ1ZSwiZGVza3RvcF9weXZfb25fd2F0Y2hfb3ZlcnJpZGVfbGFjdCI6dHJ1ZSwibG9nX3dlYl9lbmRwb2ludF90b19sYXllciI6dHJ1ZSwicG9seW1lcjJfZWxlbWVudF9wb29sX3Byb3BlcnRpZXMiOnRydWUsImtldmxhcl9ob21lX3NrZWxldG9uX2hpZGVfbGF0ZXIiOnRydWUsImtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlIjp0cnVlLCJmaXhfZm9yX3NhZmFyaV9kZXNrdG9wX21hc3RoZWFkX2Jhbm5lcl9zaXplIjp0cnVlLCJkZXNrdG9wX3NlYXJjaF9zdWdnZXN0aW9uX3RhcF90YXJnZXQiOjAsIm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpIjp0cnVlLCJrZXZsYXJfY2xpZW50X3NhdmVfc3Vic19wcmVmZXJlbmNlcyI6dHJ1ZSwiZGVza3RvcF9zd2lwZWFibGVfZ3VpZGUiOnRydWUsImtldmxhcl93YXRjaF9jb2xvcl91cGRhdGUiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImtldmxhcl9hbGxvd19xdWV1ZV9yZW9yZGVyIjp0cnVlLCJyZW5kZXJfbWV0YV90YWdzX2xhYnMiOnRydWUsInNwZl9rZXZsYXJfYXNzdW1lX2NodW5rZWQiOnRydWUsImtldmxhcl9hdXRvbmF2X21pbmlwbGF5ZXJfZml4Ijp0cnVlLCJsb2dfd2ViX21ldGFfaW50ZXJ2YWxfbXMiOjAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxpbmdfZnJhY3Rpb24iOjAuMCwibG9nX2pzX2V4Y2VwdGlvbnNfZnJhY3Rpb24iOjEuMCwicGFpcl9zZXJ2bGV0X2RlcHJlY2F0aW9uX3dhcm5pbmdfZW5hYmxlZCI6dHJ1ZSwicmVjb21tZW5kZWRfdmlkZW9fcmVvcmRlcmluZyI6dHJ1ZSwia2V2bGFyX2xvZ2dlZF9vdXRfdG9wYmFyX21lbnVfbWlncmF0aW9uIjp0cnVlLCJuZXR3b3JrbGVzc190aHJvdHRsZV90aW1lb3V0IjoxMDAsInBvbHltZXJfZW5hYmxlX21keCI6dHJ1ZSwid2ViX2VuYWJsZV9oaXN0b3J5X2NhY2hlX21hcCI6dHJ1ZSwia2V2bGFyX3BsYXllcl9yZXNwb25zZV9zd2ZfY29uZmlnX3dyYXBwZXJfa2lsbHN3aXRjaCI6dHJ1ZSwiZWxlbWVudF9wb29sX3BvcHVsYXRvcl9hdXRvX2Fib3J0Ijp0cnVlLCJrZXZsYXJfbWVhbGJhcl9hYm92ZV9wbGF5ZXIiOnRydWUsInJlbmRlcl9jaGFubmVsX2Nhbm9uaWNhbF90YWdzIjp0cnVlLCJrZXZsYXJfcGxheWVyX2Rpc2FibGVfcnZzX3VwZGF0ZSI6dHJ1ZSwiZW5hYmxlX3N0cmVhbWxpbmVfcmVwb3N0X2Zsb3ciOnRydWUsInJlbG9hZF93aXRob3V0X3BvbHltZXJfaW5uZXJ0dWJlIjp0cnVlLCJrZXZsYXJfaWNvbnNfb25fbWVudXMiOnRydWUsImdsb2JhbF9zcGFjZWJhcl9wYXVzZSI6dHJ1ZSwic2tpcF9lbmRwb2ludF9wYXJhbV9jb21wYXJpc29uIjp0cnVlLCJrZXZsYXJfc2V0dGluZ3NfYWR2YW5jZWQiOnRydWUsImtldmxhcl9taW5pcGxheWVyIjp0cnVlLCJrZXZsYXJfbm9fZWFybHlfaW5pdF91bnBhdXNlIjp0cnVlLCJrZXZsYXJfYWxsb3dfbXVsdGlzdGVwX3ZpZGVvX2luaXQiOnRydWUsImtldmxhcl9ub191cmxfcGFyYW1zIjp0cnVlLCJlbmFibGVfd2ViX2tldGNodXBfaGVyb19hbmltYXRpb24iOnRydWUsImtldmxhcl9wbGF5bGlzdF9hdXRvbmF2X2xvb3BfZml4Ijp0cnVlLCJzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZyI6dHJ1ZSwiZW5hYmxlX3ByZW1pdW1fdm9sdW50YXJ5X3BhdXNlIjp0cnVlLCJndWlkZV9idXNpbmVzc19pbmZvX2NvdW50cmllcyI6WyJLUiJdLCJkZXNrdG9wX2FjdGlvbl9jb21wYW5pb25fd3RhX3N1cHBvcnQiOnRydWUsInRlbl92aWRlb19yZW9yZGVyaW5nIjpbMCwxLDIsMyw2LDQsNSw3LDgsOV0sInlvb2RsZV9zdGFydF90aW1lX3V0YyI6MTYwMzc3MTE5OSwia2V2bGFyX29wX3BhZ2Vfc2VydmljZV9zZWFyY2giOnRydWUsImtldmxhcl91c2VfcmVzcG9uc2VfdHRsX3RvX2ludmFsaWRhdGVfY2FjaGUiOnRydWUsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4xLCJrZXZsYXJfd2F0Y2hfanNfcGFuZWxfaGVpZ2h0Ijp0cnVlLCJlbmFibGVfd2ViX3Bvc3Rlcl9ob3Zlcl9hbmltYXRpb24iOnRydWUsIndlYl9zaG93X2Rlc2NyaXB0aW9uX3RhZ19tb3ZpZXMiOnRydWUsImRlc2t0b3BfY2xpZW50X3JlbGVhc2UiOnRydWUsImtldmxhcl9ndWlkZV9hamF4X21pZ3JhdGlvbiI6dHJ1ZSwiZGVza3RvcF9ub3RpZmljYXRpb25fc2V0X3RpdGxlX2JhciI6dHJ1ZSwiY29sZF9taXNzaW5nX2hpc3RvcnkiOnRydWUsImtldmxhcl9tZW51X2xvZ2dpbmciOnRydWUsImtldmxhcl9vbmVfcGlja19hZGRfdmlkZW9fdG9fcGxheWxpc3QiOnRydWUsImtldmxhcl9jb2xsZWN0X2JhdHRlcnlfbmV0d29ya19zdGF0dXMiOnRydWUsInBvbHltZXJfdmlkZW9fcmVuZGVyZXJfZGVmZXJfbWVudSI6dHJ1ZSwia2V2bGFyX2Rpc2FibGVfaHRtbF9pbXBvcnRzIjp0cnVlLCJrZXZsYXJfd2F0Y2hfaW5jcmVhc2VkX3dpZHRoX3RocmVzaG9sZCI6dHJ1ZSwiZmx1c2hfb25iZWZvcmV1bmxvYWQiOnRydWUsImtldmxhcl9maXhfcGxheWxpc3RfY29udGludWF0aW9uIjp0cnVlLCJyaWNoX2dyaWQiOnRydWUsInNlcnZlX3BkcF9hdF9jYW5vbmljYWxfdXJsIjp0cnVlLCJzdXBwcmVzc19zcGFya2xlc19mb3Jfd2hpdGVsaXN0ZWRfaW5zdHJlYW1fb25fZGVza3RvcCI6dHJ1ZSwia2V2bGFyX3NldF9pbnRlcm5hbF9wbGF5ZXJfc2l6ZSI6dHJ1ZSwiZW5hYmxlX3lwY19zcGlubmVycyI6dHJ1ZSwid2ViX2xvZ19hcHBfaW5zdGFsbF9leHBlcmltZW50cyI6dHJ1ZSwid2ViX29wX2VuZHBvaW50X2Jhbmxpc3QiOltdLCJlbmFibGVfZGV2aWNlX2ZvcndhcmRpbmdfZnJvbV9wb2x5bWVyX25ldHdvcmtfbWFuYWdlciI6dHJ1ZSwia2V2bGFyX3VzZV9vbmVfcGxhdGZvcm1fZm9yX3F1ZXVlX3JlZnJlc2giOnRydWUsImRlbGF5X2dlbF91bnRpbF9jb25maWdfcmVhZHkiOnRydWUsImVuYWJsZV9wdXJjaGFzZV9hY3Rpdml0eV9pbl9wYWlkX21lbWJlcnNoaXBzIjp0cnVlLCJ1c2Vfd2F0Y2hfZnJhZ21lbnRzMiI6dHJ1ZSwiZW5hYmxlX3dhdGNoX25leHRfcGF1c2VfYXV0b3BsYXlfbGFjdCI6dHJ1ZSwia2V2bGFyX2FkZF90b19xdWV1ZV9vcHRpb24iOnRydWUsImtldmxhcl9maXhfbWluaXBsYXllcl9sb2dnaW5nIjp0cnVlLCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIjp0cnVlLCJuZXR3b3JrbGVzc195dGlkYl92ZXJzaW9uIjoxLCJwb2x5bWVyX3JlcG9ydF9jbGllbnRfdXJsX3JlcXVlc3RlZF9yYXRlIjowLjAwMSwicGxheWVyX2Jvb3RzdHJhcF9tZXRob2QiOnRydWUsImtldmxhcl9wbGF5ZXJfYXV0b3BsYXlfY291bnRfZnJvbV9ydnMiOnRydWUsIm1pbl9tb3VzZV9zdGlsbF9kdXJhdGlvbiI6MTAwLCJrZXZsYXJfbWluaXBsYXllcl9leHBhbmRfdG9wIjp0cnVlLCJ3ZWJfb3BfY29udGludWF0aW9uX3R5cGVfYmFubGlzdCI6W10sImtldmxhcl9taW5pcGxheWVyX3NldF93YXRjaF9uZXh0Ijp0cnVlLCJrZXZsYXJfdGh1bWJuYWlsX2ZsdWlkIjp0cnVlLCJrZXZsYXJfbmV4dF91cF9uZXh0X2VkdV9lbW9qaSI6IiIsImVuYWJsZV9kb2NrZWRfY2hhdF9tZXNzYWdlcyI6dHJ1ZSwia2V2bGFyX3F1ZXVlX3VzZV9kZWRpY2F0ZWRfbGlzdF90eXBlIjp0cnVlLCJrZXZsYXJfY29sbGVjdF9ob3Zlcl90b3VjaF9zdXBwb3J0Ijp0cnVlLCJwcmVmZXRjaF9jb21tZW50c19tc19hZnRlcl92aWRlbyI6MCwiZGlzYWJsZV95b3V0aGVyZV9sYWN0X3RocmVzaG9sZF9jaGVjayI6dHJ1ZSwicG9seW1lcl93YXJtX3RodW1ibmFpbF9wcmVsb2FkIjp0cnVlLCJ3ZWJfcGxheWVyX3RvdWNoX21vZGVfaW1wcm92ZW1lbnRzIjp0cnVlLCJrZXZsYXJfcHJlcGFyZV9wbGF5ZXJfb25fbWluaXBsYXllcl9hY3RpdmF0aW9uIjp0cnVlLCJ5b29kbGVfYWx0X3RleHQiOiIiLCJkZXNrdG9wX3BvbHltZXJfdmlkZW9fbWFzdGhlYWRfc2Vzc2lvbl90ZW1wZGF0YV90dGwiOjMwLCJlbmFibGVfbWVudGlvbnNfaW5fcmVwb3N0cyI6dHJ1ZSwia2V2bGFyX2Rpc2FibGVfY2hhbm5lbHNfZmxvd19wYXJhbSI6dHJ1ZSwia2V2bGFyX2VuYWJsZV9yZW9yZGVyYWJsZV9wbGF5bGlzdHMiOnRydWUsImtldmxhcl9kaXNhYmxlX2JhY2tncm91bmRfcHJlZmV0Y2giOnRydWUsInBvcHVwX2Zvcl9zaWduX291dF9yZXBvcnRfcGxheWxpc3QiOnRydWUsImtldmxhcl9rZXlib2FyZF9idXR0b25fZm9jdXMiOnRydWUsImtldmxhcl90aHVtYm5haWxfb3ZlcmxheV9idXR0b25fcmVmcmVzaCI6dHJ1ZSwid2ViX21vdmVfcGFzc2l2ZV9zaWduaW4iOnRydWUsImtldmxhcl9ob21lX2tleWJvYXJkX3Njcm9sbF9kaXN0YW5jZSI6MCwia2V2bGFyX2FkX2JhZGdlX2xpbmVfaGVpZ2h0X3VwZGF0ZSI6dHJ1ZSwieW9vZGxlX2FsdF90ZXh0X2xvY2FsZSI6IiIsImtldmxhcl9zZXR0aW5nc19wcml2YWN5Ijp0cnVlLCJrZXZsYXJfY2xlYW5fdXAiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfd2F0Y2hfcGFnZV9wcm9tcHQiOnRydWUsIndhdGNoX25leHRfcGF1c2VfYXV0b3BsYXlfbGFjdF9zZWMiOjQ1MDAsImtldmxhcl9jdHJsX3RhcF9maXgiOnRydWUsIndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsInlvb2RsZV9kYXRlX292ZXJyaWRlX2RlYnVnIjoiIiwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zZWMiOjAsImtldmxhcl9jYW5jZWxfc2NoZWR1bGVkX2NvbW1lbnRfam9ic19vbl9uYXZpZ2F0ZSI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJlbmFibGVfcHJvZ3JhbW1lZF9wbGF5bGlzdF9yZWRlc2lnbiI6dHJ1ZSwia2V2bGFyX2lubGluZWRfaHRtbF90ZW1wbGF0ZXNfcG9seW1lcl9mbGFncyI6dHJ1ZSwiZW5hYmxlX3l0b193aW5kb3ciOnRydWUsIndlYl9wb3N0X3NlYXJjaCI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdXNlX3l0ZF9wbGF5ZXIiOnRydWUsImtldmxhcl9zZXJ2ZV91bnZlcnNpb25lZF9iaW5hcnkiOnRydWUsImNhbmNlbF9wZW5kaW5nX25hdnMiOnRydWUsImtldmxhcl9vcF9wYWdlX3NlcnZpY2VfYnJvd3NlIjp0cnVlLCJ3ZWJfc2hvd19yZWdleF9lcnJvcl90ZXh0YXJlYSI6dHJ1ZSwidHdlbHZlX3ZpZGVvX3Jlb3JkZXJpbmciOlswLDEsMiw0LDcsOCwzLDUsNiw5LDEwLDExXSwid2ViX2NsaWVudF9jb3VudGVyX3JhbmRvbV9zZWVkIjp0cnVlLCJleHRlcm5hbF9mdWxsc2NyZWVuX3dpdGhfZWR1Ijp0cnVlLCJrZXZsYXJfcXVldWVfdXNlX3VwZGF0ZV9hcGkiOnRydWUsImdmZWVkYmFja19mb3Jfc2lnbmVkX291dF91c2Vyc19lbmFibGVkIjp0cnVlLCJrZXZsYXJfbWl4X2hhbmRsZV9maXJzdF9lbmRwb2ludF9kaWZmZXJlbnQiOnRydWUsImtldmxhcl9zZXR0aW5nc19wbGF5YmFjayI6dHJ1ZSwibmV0d29ya2xlc3NfcmVxdWVzdF9hZ2VfbGltaXQiOjMwLCJkZXNrdG9wX3NlYXJjaF9wcm9taW5lbnRfdGh1bWJzX3N0eWxlIjoiREVGQVVMVCIsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6XC9cL3d3dy5nc3RhdGljLmNvbVwveW91dHViZVwvaW1nXC9lbW9qaXNcL2Vtb2ppcy1zdmctNC5qc29uIiwiaXNfcGFydF9vZl9hbnlfdXNlcl9lbmdhZ2VtZW50X2V4cGVyaW1lbnQiOnRydWUsImtldmxhcl9vcF9pbmZyYSI6dHJ1ZSwiYWRkX2RldmljZV90aGVtZV9wcmVmZXJlbmNlX3dlYiI6dHJ1ZSwia2V2bGFyX29wX21pZ3JhdGlvbiI6dHJ1ZSwia2V2bGFyX3RodW1ibmFpbF9vdmVybGF5X25ld19lbGVtZW50cG9vbF9zY2hlZHVsZSI6dHJ1ZSwia2V2bGFyX2kxOG5fbGlicmFyeSI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsImVuYWJsZV9tYXN0aGVhZF9xdWFydGlsZV9waW5nX2ZpeCI6dHJ1ZSwiZGVmZXJfb3ZlcmxheXMiOnRydWUsIndlYl9mb3JlZ3JvdW5kX2hlYXJ0YmVhdF9pbnRlcnZhbF9tcyI6MjgwMDAsInJpY2hfZ3JpZF9taW5pX21vZGUiOnRydWUsImFsbG93X2h0dHBzX3N0cmVhbWluZ19mb3JfYWxsIjp0cnVlLCJlbmFibGVfbWVtYmVyc2hpcHNfYW5kX3B1cmNoYXNlcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfZW5hYmxlZCI6dHJ1ZSwia2V2bGFyX21pbmlwbGF5ZXJfc2V0X2VsZW1lbnRfZWFybHkiOnRydWUsInBsYXllcl9kb3VibGV0YXBfdG9fc2VlayI6dHJ1ZX0sIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyI6eyJjbGllbnQubmFtZSI6IldFQiJ9LCJST09UX1ZFX1RZUEUiOjM4MzIsIkdBUElfSE9TVCI6Imh0dHBzOlwvXC9hcGlzLmdvb2dsZS5jb20iLCJERVZJQ0UiOiJjZW5nPVVTRVJfREVGSU5FRCIsIkNMSUVOVF9UUkFOU1BPUlQiOiJ0Y3AiLCJTQk9YX1NFVFRJTkdTIjp7IklTX0ZVU0lPTiI6ZmFsc2UsIlNFQVJDSEJPWF9IT1NUX09WRVJSSURFIjoiIiwiSEFTX09OX1NDUkVFTl9LRVlCT0FSRCI6dHJ1ZSwiU0VBUkNIQk9YX0JFSEFWSU9SX0VYUEVSSU1FTlQiOiJ6ZXJvLXByZWZpeCIsIlJFUVVFU1RfTEFOR1VBR0UiOiJwdCIsIlZJU0lUT1JfREFUQSI6IkNnczFXVVp6ZWw5QmJuRlFUU2o5ei1IOEJRJTNEJTNEIiwiU0VBUkNIQk9YX0VOQUJMRV9SRUZJTkVNRU5UX1NVR0dFU1QiOnRydWUsIlJFUVVFU1RfRE9NQUlOIjoiYnIiLCJTRU5EX1ZJU0lUT1JfREFUQSI6dHJ1ZSwiU0VBUkNIQk9YX1pFUk9fVFlQSU5HX1NVR0dFU1RfVVNFX1JFR1VMQVJfU1VHR0VTVCI6ImFsd2F5cyIsIklTX1BPTFlNRVIiOnRydWUsIlNFQVJDSEJPWF9UQVBfVEFSR0VUX0VYUEVSSU1FTlQiOjB9LCJWT1pfQVBJX0tFWSI6IkFJemFTeUJVMnhFX0pIdkI2d2FnM3RNZmh4WHBnMlFfVzh4bk0tSSIsIllQQ19NQl9VUkwiOiJodHRwczpcL1wvcGF5bWVudHMueW91dHViZS5jb21cL3BheW1lbnRzXC92NFwvanNcL2ludGVncmF0b3IuanM/c3M9bWQiLCJZVFJfRkFNSUxZX0NSRUFUSU9OX1VSTCI6Imh0dHBzOlwvXC9mYW1pbGllcy5nb29nbGUuY29tXC93ZWJjcmVhdGlvbj91c2VnYXBpPTEiLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS55dGZlLmRlc2t0b3BfMjAyMDEwMjJfMl9SQzAiLCJaV0lFQkFDS19QSU5HX1VSTFMiOlsiaHR0cHM6XC9cL3d3dy5nb29nbGUuY29tLmJyXC9wYWdlYWRcL2x2ej9ldnRpZD1BS0I3OGNnbFAyTDBNck5HTWtmc00zYy15VDZBOVpFWjBNbFFjNGNhdlRhYzc0TmZ0NmdGMFo0SmhhZEF6MGVqQjJDeWtLb3BibkN6cVB5RWYyWlEtZ2k4ci10OWp0QzA2Z1x1MDAyNnBnPXdhdGNoXHUwMDI2cmVxX3RzPTE2MDM4MjM2MTNcdTAwMjZzaWdoPUFLRnB5WVZPWTJFbEY1Z3E5ak1nWW96dm5wdE9DbU16dHciLCJodHRwczpcL1wvd3d3Lmdvb2dsZS5jb21cL3BhZ2VhZFwvbHZ6P2V2dGlkPUFLQjc4Y2hHcUpQRlRJWmh6VnFyb0dUaGhEZk50MWhxdlFkSWZxeXlXcFN6ek9oS2g1OVZVR2lDSWY4S0FJSC0zaEloUHZGbk1STUFkRUgxY2ZRQmdLTlRNTVA1T1dCdFVRXHUwMDI2cGc9d2F0Y2hcdTAwMjZyZXFfdHM9MTYwMzgyMzYxM1x1MDAyNnNpZ2g9QUtGcHlZVWlQVzc3QURaNnU3V0dYRVFycHJqVEZmZGFaQSJdLCJMSVZFX0NIQVRfQkFTRV9UQU5HT19DT05GSUciOnsiY2hhbm5lbFVyaSI6Imh0dHBzOlwvXC9jbGllbnQtY2hhbm5lbC5nb29nbGUuY29tXC9jbGllbnQtY2hhbm5lbFwvY2xpZW50Iiwic2VuZGVyVXJpIjoiaHR0cHM6XC9cL2NsaWVudHM0Lmdvb2dsZS5jb21cL2ludmFsaWRhdGlvblwvbGNzXC9jbGllbnQiLCJjbGllbnRUeXBlIjoxMDU3LCJ1c2VOZXdUYW5nbyI6dHJ1ZSwiY2xpZW50TmFtZSI6Inl0LWxpdmUtY2hhdC1hbm9uIiwicmVxdWlyZXNBdXRoVG9rZW4iOnRydWUsImFwaUtleSI6IkFJemFTeURaTmt5Qy1BdFJPd01CcExmZXZJdnFZay1HZmk4Wk9lbyJ9LCJQTEFZRVJfSlNfVVJMIjoiXC9zXC9wbGF5ZXJcLzliNjVlOTgwXC9wbGF5ZXJfaWFzLnZmbHNldFwvcHRfQlJcL2Jhc2UuanMiLCJIVE1MX0xBTkciOiJwdC1CUiIsIlNJR05JTl9VUkwiOiJodHRwczpcL1wvYWNjb3VudHMuZ29vZ2xlLmNvbVwvU2VydmljZUxvZ2luP2NvbnRpbnVlPWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2YXBwJTNEZGVza3RvcCUyNmZlYXR1cmUlM0RfX0ZFQVRVUkVfXyUyNmhsJTNEcHQlMjZuZXh0JTNEJTI1MkZ3YXRjaCUyNTNGdiUyNTNEU1VrWHZXbjFtN1FcdTAwMjZobD1wdC1CUlx1MDAyNnBhc3NpdmU9dHJ1ZVx1MDAyNnNlcnZpY2U9eW91dHViZVx1MDAyNnVpbGVsPTMiLCJDTElFTlRfUFJPVE9DT0wiOiJIVFRQXC8xLjEiLCJJTk5FUlRVQkVfQ09OVEVYVF9HTCI6IkJSIiwiVklTSUJJTElUWV9USU1FX0JFVFdFRU5fSk9CU19NUyI6MTAwLCJIVE1MX0RJUiI6Imx0ciJ9KTt5dGNmZy5zZXQoIlNCT1hfTEFCRUxTIiwgeyJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmVyIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdlc3TDo28gcmVtb3ZpZGEifSk7dmFyIHNldE1lc3NhZ2UgPSBmdW5jdGlvbihtc2cpIHtpZiAod2luZG93Lnl0ICYmIHl0LnNldE1zZykge3l0LnNldE1zZyhtc2cpO30gZWxzZSB7d2luZG93Lnl0Y2ZnID0gd2luZG93Lnl0Y2ZnIHx8IHt9O3l0Y2ZnLm1zZ3MgPSBtc2c7fX07c2V0TWVzc2FnZSh7J1NJR05fSU5fTEFCRUwnOiAiRmF6ZXIgbG9naW4iLCdTSEFSRV9MQUJFTCc6ICJDb21wYXJ0aWxoYXIiLCdHVUlERV9BTFRfTEFCRUwnOiAiR3VpYSIsJ0xPR09fQUxUX0xBQkVMJzogIlDDoWdpbmEgaW5pY2lhbCBkbyBZb3VUdWJlIiwnQkFDS19BTFRfTEFCRUwnOiAiVm9sdGFyIiwnQ0hPT1NFX0NPVU5UUllfTEFCRUwnOiAiU2VsZWNpb25lIHNldSBsb2NhbCIsJ0NPVU5UUllfTEFCRUwnOiAiTG9jYWw6IiwnQ0hPT1NFX0xBTkdVQUdFX0xBQkVMJzogIlNlbGVjaW9uZSBzZXUgaWRpb21hIiwnTEFOR1VBR0VfTEFCRUwnOiAiSWRpb21hOiIsJ1RJTUVaT05FX0ZPUk1BVCc6ICIoJHV0Y19vZmZzZXRfdGV4dCkgJGNpdHlfbmFtZSIsJ0xPQ0FMX1RJTUVfTEFCRUwnOiAiSG9yYSBsb2NhbCIsJ0xPQ0FMX1RJTUVfR01UX0xBQkVMJzogIkhvcsOhcmlvIGxvY2FsICgkZ210X3RleHQpIiwnVVRDX09GRlNFVF9GT1JNQVQnOiAiR01UJHV0Y19vZmZzZXQiLCdFTlRFUl9EQVRFX09SX0VBUkxJRVInOiAiSW5zaXJhICRhbGxvd2VkX2RhdGUgb3UgdW1hIGRhdGEgYW50ZXJpb3IiLCdFTlRFUl9EQVRFX09SX0xBVEVSJzogIkluc2lyYSAkYWxsb3dlZF9kYXRlIG91IHVtIGhvcsOhcmlvIHBvc3RlcmlvciIsJ0lOVkFMSURfREFURV9FUlJPUic6ICJEYXRhIGludsOhbGlkYSIsJ09GRic6ICJEZXNhdGl2YWRvIiwnT04nOiAiQXRpdmFkbyIsJ1JFU1RSSUNURURfTU9ERV9MQUJFTCc6ICJNb2RvIHJlc3RyaXRvOiIsJ1JFU1RSSUNURURfTU9ERV9URVhUX0xJTkVfMSc6ICJPIE1vZG8gcmVzdHJpdG8gb2N1bHRhIHbDrWRlb3MgcXVlIHBvZGVtIGNvbnRlciBjb250ZcO6ZG8gaW5hZGVxdWFkbywgc2luYWxpemFkbyBwb3IgdXN1w6FyaW9zIG91IG91dHJvcyBpbmRpY2Fkb3Jlcy4gTmVuaHVtIGZpbHRybyDDqSAxMDAlIHByZWNpc28sIG1hcyBkZXZlIGFqdWRhciB2b2PDqiBhIGV2aXRhciBhIG1haW9yaWEgZG9zIGNvbnRlw7pkb3MgaW5hZGVxdWFkb3MuIiwnUkVTVFJJQ1RFRF9NT0RFX1RFWFRfTElORV8yJzogIkEgY29uZmlndXJhw6fDo28gZG8gTW9kbyByZXN0cml0byBzZXLDoSBhcGxpY2FkYSBzb21lbnRlIGEgZXN0ZSBuYXZlZ2Fkb3IuIiwnUkVTVFJJQ1RFRF9NT0RFX1RJVExFJzogIk1vZG8gcmVzdHJpdG8iLCdJTUFHRV9IT1JJWk9OVEFMX1BPU0lUSU9OX0xBQkVMJzogIk8gY2VudHJvIGRhIHZpc3VhbGl6YcOnw6NvIGVzdMOhIGEgJHhfcGVyY2VudCUgZGEgZXNxdWVyZGEgZSBhJHlfcGVyY2VudCUgZGEgZGlyZWl0YS4iLCdJTUFHRV9WRVJUSUNBTF9QT1NJVElPTl9MQUJFTCc6ICJPIGNlbnRybyBkYSB2aXN1YWxpemHDp8OjbyBlc3TDoSBhICR4X3BlcmNlbnQlIGRhIHBhcnRlIHN1cGVyaW9yIGUgYSR5X3BlcmNlbnQlIGRhIHBhcnRlIGluZmVyaW9yLiIsJ1JFUE9TSVRJT05fSU1BR0VfSE9SSVpPTlRBTExZX0xBQkVMJzogIlVzZSBhcyB0ZWNsYXMgZGUgc2V0YSBlc3F1ZXJkYSBlIGRpcmVpdGEgcGFyYSBwb3NpY2lvbmFyIGEgdmlzdWFsaXphw6fDo28iLCdSRVBPU0lUSU9OX0lNQUdFX1ZFUlRJQ0FMTFlfTEFCRUwnOiAiVXNlIGFzIHRlY2xhcyBkZSBzZXRhIHBhcmEgY2ltYSBlIHBhcmEgYmFpeG8gcGFyYSBwb3NpY2lvbmFyIGEgdmlzdWFsaXphw6fDo28iLCdSRUFDSF9UT1BfT0ZfSU1BR0VfVEVYVCc6ICJWb2PDqiBhbGNhbsOnb3UgYSBwYXJ0ZSBzdXBlcmlvciBkYSBpbWFnZW0iLCdSRUFDSF9CT1RUT01fT0ZfSU1BR0VfVEVYVCc6ICJWb2PDqiBhbGNhbsOnb3UgYSBwYXJ0ZSBpbmZlcmlvciBkYSBpbWFnZW0iLCdSRUFDSF9MRUZUX09GX0lNQUdFX1RFWFQnOiAiVm9jw6ogYWxjYW7Dp291IG8gbGFkbyBlc3F1ZXJkbyBkYSBpbWFnZW0iLCdSRUFDSF9SSUdIVF9PRl9JTUFHRV9URVhUJzogIlZvY8OqIGFsY2Fuw6dvdSBvIGxhZG8gZGlyZWl0byBkYSBpbWFnZW0iLCdTQk9YX1BMQUNFSE9MREVSJzogIlBlc3F1aXNhciIsJ1NCT1hfSU5BUFBST1BSSUFURV9QUk9NUFQnOiAiRGVudW5jaWFyIHByZXZpc8O1ZXMgZGUgZW5xdWV0ZSIsJ1NCT1hfSU5BUFBST1BSSUFURV9USVRMRSc6ICJEZW51bmNpYXIgcHJldmlzw7VlcyBkZSBlbnF1ZXRlIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1NVR0dFU1RJT05TJzogIlNlbGVjaW9uZSBhcyBwcmV2aXPDtWVzIHF1ZSB2b2PDqiBxdWVyIGRlbnVuY2lhcjoiLCdTQk9YX0lOQVBQUk9QUklBVEVfQ0FURUdPUlknOiAiTyBjb250ZcO6ZG8gZGFzIHByZXZpc8O1ZXMgc2VsZWNpb25hZGFzOiIsJ1NCT1hfSU5BUFBST1BSSUFURV9IQVRFRlVMJzogImluY2l0YSBhbyDDs2RpbyIsJ1NCT1hfSU5BUFBST1BSSUFURV9FWFBMSUNJVCc6ICLDqSBzZXh1YWxtZW50ZSBleHBsw61jaXRvIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1ZJT0xFTlQnOiAiY29udMOpbSB2aW9sw6puY2lhIiwnU0JPWF9JTkFQUFJPUFJJQVRFX0RBTkdFUk9VUyc6ICJjb250w6ltIGF0aXZpZGFkZXMgcGVyaWdvc2FzIG91IG5vY2l2YXMiLCdTQk9YX0lOQVBQUk9QUklBVEVfT1RIRVInOiAib3V0cm8iLCdTQk9YX0lOQVBQUk9QUklBVEVfUkVBU09OJzogIk1vdGl2byAob2JyaWdhdMOzcmlvKSIsJ1NCT1hfSU5BUFBST1BSSUFURV9BRERJVElPTkFMJzogIkZvcm5lw6dhIG1haXMgZGV0YWxoZXMgKG9wY2lvbmFsKSIsJ1NCT1hfSU5BUFBST1BSSUFURV9TVUJNSVQnOiAiRW52aWFyIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1JFUE9SVCc6ICJEZW51bmNpYXIiLCdTQk9YX0lOQVBQUk9QUklBVEVfQ0FOQ0VMJzogIkNhbmNlbGFyIiwnU0JPWF9JTkFQUFJPUFJJQVRFX1RPQVNUJzogIkFncmFkZWNlbW9zIHNldSBmZWVkYmFjay4iLCdTQk9YX1ZPSUNFX09WRVJMQVlfUExBQ0VIT0xERVInOiAiT3V2aW5kb+KApiIsJ0FERF9UT19EUk9QRE9XTl9MQUJFTCc6ICJTYWx2YXIgZW0uLi4iLCdSRVFVSVJFRF9MQUJFTCc6ICJPYnJpZ2F0w7NyaW8iLCdOT19BTkdMRV9CUkFDS0VUX0xBQkVMJzogIk8gbm9tZSBkYSBwbGF5bGlzdCBuw6NvIHBvZGUgY29udGVyIFx1MDAzYyBvdSBcdTAwM2VcbiIsJ0VESVRfQVZBVEFSX0xBQkVMJzogIkVkaXRhciBmb3RvIGRvIHBlcmZpbCIsJ0FEX0JBREdFX1RFWFQnOiAiQW7Dum5jaW8iLCdFRFVfR09UX0lUJzogIk9rIiwnTUlOSVBMQVlFUl9DT0xMQVBTRV9MQUJFTCc6ICJSZWNvbGhlciIsJ01JTklQTEFZRVJfRVhQQU5EX0xBQkVMJzogIkV4cGFuZGlyIiwnUVVFVUUnOiAiRmlsYSIsJ0FEREVEX1RPX1FVRVVFJzogIkFkaWNpb25hZG8gw6AgZmlsYSIsJ1FVRVVFX0NMRUFSRUQnOiB7Im90aGVyIjogIiMgdlx1MDBlZGRlb3MgcmVtb3ZpZG9zIGRhIGZpbGEiLCAiY2FzZTEiOiAiMSB2XHUwMGVkZGVvIHJlbW92aWRvIGRhIGZpbGEiLCAib25lIjogIiMgdlx1MDBlZGRlbyByZW1vdmlkbyBkYSBmaWxhIn0sJ1FVRVVFX0NMRUFSRURfVU5QTFVSQUxJWkVEJzoiRmlsYSB2YXppYSIsJ01JTklQTEFZRVJfQ0xPU0UnOiAiRmVjaGFyIHBsYXllciIsJ1FVRVVFX0NMT1NFX01JTklQTEFZRVJfQ09ORklSTV9USVRMRSc6ICJBIGZpbGEgc2Vyw6EgZXhjbHXDrWRhIiwnUVVFVUVfQ0xPU0VfTUlOSVBMQVlFUl9DT05GSVJNX0JPRFlfVEVYVCc6ICJWb2PDqiBxdWVyIG1lc21vIGZlY2hhciBvIHBsYXllcj8iLCdRVUVVRV9SRUNPVkVSX0JVVFRPTic6ICJSZWF0aXZhciIsJ1FVRVVFX1JFQ09WRVJfTUVTU0FHRSc6ICJSZWN1cGVyYXIgYSBmaWxhIiwnQ0xFQVInOiAiTGltcGFyIiwnVU5ETyc6ICJEZXNmYXplciIsJ0NBTkNFTCc6ICJDYW5jZWxhciIsJ1NVQlNfRklMVEVSX0VEVV9URVhUJzogIlZlamEgbm92b3MgdsOtZGVvcyBkZSBjYWRhIGNhbmFsIiwnU1VCU19HVUlERV9JVEVNX0VEVV9URVhUJzogIlZlamEgbm92b3MgdsOtZGVvcyBkZSB0b2RhcyBhcyBzdWFzIGluc2NyacOnw7VlcyIsJ1NVQlNfRklMVEVSX0VEVV9DSEFOTkVMX1RFWFQnOiAiTW9zdHJhbmRvIG5vdm9zIHbDrWRlb3MgZGVzdGUgY2FuYWwuIiwnTElCUkFSWV9HVUlERV9JVEVNX0VEVV9USVRMRSc6ICJWZWphIHN1YSBub3ZhIGJpYmxpb3RlY2EiLCdMSUJSQVJZX0dVSURFX0lURU1fRURVX1RFWFQnOiAiRW5jb250cmUgc2V1IGhpc3TDs3JpY28sIHBsYXlsaXN0cywgY29tcHJhcyBlIG11aXRvIG1haXMiLCdNRU5USU9OU19FRFVfVElUTEUnOiAiU2FpYmEgbWFpcyIsJ01FTlRJT05TX0VEVV9URVhUJzogIkFjZXNzZSBhIENlbnRyYWwgZGUgQWp1ZGEgcGFyYSB2ZXIgY29tbyBhcyBtZW7Dp8O1ZXMgZnVuY2lvbmFtIG5vIFlvdVR1YmUuIiwnTk9fSU5URVJORVRfQ09OTkVDVElPTic6ICJTZW0gY29uZXjDo28gw6AgSW50ZXJuZXQiLCdDT05ORUNUX1RPX1RIRV9JTlRFUk5FVCc6ICJDb25lY3RlLXNlIMOgIEludGVybmV0IiwnT0ZGTElORV9DSEVDS19DT05ORUNUSU9OJzogIlZvY8OqIGVzdMOhIG9mZi1saW5lLiBWZXJpZmlxdWUgc3VhIGNvbmV4w6NvLiIsJ1JFVFJZJzogIlRlbnRhciBub3ZhbWVudGUiLCdKT0lOX01FTUJFUlNISVBfRURVX1RJVExFJzogIkFzc2luYXR1cmEiLCdKT0lOX01FTUJFUlNISVBfRURVX1RFWFQnOiAiR2FuaGUgYmVuZWbDrWNpb3MgZXhjbHVzaXZvcyBhbyBzZSB0b3JuYXIgbWVtYnJvIGRlc3RlIGNhbmFsLiIsJ1NIQVJFX1BPU1RfRURVX1RFWFQnOiAiQWdvcmEsIHZvY8OqIHBvZGUgY29tcGFydGlsaGFyIHBvc3RhZ2VucyBubyBZb3VUdWJlIiwnRlJFRUJJRV9KT0lOX01FTUJFUlNISVBfRURVX1RFWFQnOiAiRXN0ZSBjYW5hbCBvZmVyZWNlIHVtYSBhc3NpbmF0dXJhIHF1ZSB2b2PDqiBwb2RlIGFwcm92ZWl0YXIgZ3JhdHVpdGFtZW50ZSBjb20gbyBZb3VUdWJlIFByZW1pdW0iLCdNQU5BR0VfTUVNQkVSU0hJUF9FRFVfVEVYVCc6ICJBY2Vzc2Ugc2V1cyBiZW5lZsOtY2lvcyBlIGdlcmVuY2llIHN1YSBhc3NpbmF0dXJhIGFxdWkuIn0pO30pKCk7eXRjZmcuc2V0KCdNRU5USU9OU19FRFVfSEVMUF9MSU5LJywgJ2h0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvP3A9Y3JlYXRvcl9jb21tdW5pdHknKTt5dGNmZy5zZXQoJ3NjaGVkdWxlcicsIHt1c2VSYWY6IHRydWUsIHRpbWVvdXQ6IDIwfSk7eXRjZmcuc2V0KCdpbml0aWFsSW5uZXJXaWR0aCcsIHdpbmRvdy5pbm5lcldpZHRoKTt5dGNmZy5zZXQoJ2luaXRpYWxJbm5lckhlaWdodCcsIHdpbmRvdy5pbm5lckhlaWdodCk7d2luZG93Lnl0Y2ZnLnNldCgnSVNfV0FUQ0hfUEFHRV9DT0xEJywgdHJ1ZSk7d2luZG93Lnl0Y2ZnLnNldCgnTElOS19BUElfS0VZJywgIkFJemFTeURvcGhBUXV5eWlCcjhoMG55cEV3WFVLb3pILUJFc3dEMCIpO3dpbmRvdy55dGNmZy5zZXQoJ0xJTktfR0FMX0RPTUFJTicsICJodHRwczpcL1wvYWNjb3VudGxpbmtpbmctcGEtY2xpZW50czYueW91dHViZS5jb20iKTt3aW5kb3cueXRjZmcuc2V0KCdMSU5LX09JU19ET01BSU4nLCAib2F1dGhpbnRlZ3JhdGlvbnMuZ29vZ2xlYXBpcy5jb20iKTtpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImxwY2YiLCBudWxsLCAnJyk7fTwvc2NyaXB0PiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL3NjaGVkdWxlci52ZmxzZXQvc2NoZWR1bGVyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5hbWU9InNjaGVkdWxlci9zY2hlZHVsZXIiID48L3NjcmlwdD4gIAogIDxzY3JpcHQgPgogICAgeXRjZmcuc2V0KHsiSU5ORVJUVUJFX0NPTlRFWFQiOnsiY2xpZW50Ijp7ImhsIjoicHQiLCJnbCI6IkJSIiwidmlzaXRvckRhdGEiOiJDZ3MxV1VaemVsOUJibkZRVFNqOXotSDhCUSUzRCUzRCIsInVzZXJBZ2VudCI6IlJ1YnksZ3ppcChnZmUpIiwiY2xpZW50TmFtZSI6IldFQiIsImNsaWVudFZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sInJlcXVlc3QiOnsic2Vzc2lvbklkIjoiNjg4ODM2OTk2NzgwNTI5MDEyNSJ9LCJhZFNpZ25hbHNJbmZvIjp7ImNvbnNlbnRCdW1wUGFyYW1zIjp7ImNvbnNlbnRIb3N0bmFtZU92ZXJyaWRlIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20iLCJ1cmxPdmVycmlkZSI6IiJ9fX19KTsKICA8L3NjcmlwdD4KICAKPHNjcmlwdCAgc3JjPSIvcy9wbGF5ZXIvOWI2NWU5ODAvcGxheWVyX2lhcy52ZmxzZXQvcHRfQlIvYmFzZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJwbGF5ZXJfaWFzL2Jhc2UiID48L3NjcmlwdD4gIAo8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImNzbCIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CiAgPHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iID5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtzcmM6bG9jYWwoJ1JvYm90byBNZWRpdW0nKSxsb2NhbCgnUm9ib3RvLU1lZGl1bScpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tRVU5ZkJCYzkudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOmxvY2FsKCdSb2JvdG8gUmVndWxhcicpLGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9tQ25xRXU5MkZyMU11NG14UC50dGYpZm9ybWF0KCd0cnVldHlwZScpO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjUwMDtzcmM6bG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPakNucUV1OTJGcjFNdTUxUzdBQ2M2Q3NFLnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIEl0YWxpYycpLGxvY2FsKCdSb2JvdG8tSXRhbGljJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1MXhJSXpjLnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiA+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiUCIpO2RvY3VtZW50LmZvbnRzLmxvYWQoIjUwMCAxMHB0IFJvYm90byIsICJQIik7fTwvc2NyaXB0Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1ZVCUyMFNhbnMlM0EzMDAlMkM1MDAlMkM3MDAiIG5hbWU9Ind3dy13ZWJmb250LXl0LXNhbnMiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiBuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciIgaWQ9InBsYXllci1jc3MiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2Nzc2Jpbi93d3ctbWFpbi1kZXNrdG9wLXBsYXllci1za2VsZXRvbi5jc3MiIG5hbWU9Ind3dy1tYWluLWRlc2t0b3AtcGxheWVyLXNrZWxldG9uIj48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9jc3NiaW4vd3d3LW1haW4tZGVza3RvcC13YXRjaC1wYWdlLXNrZWxldG9uLmNzcyIgbmFtZT0id3d3LW1haW4tZGVza3RvcC13YXRjaC1wYWdlLXNrZWxldG9uIj48c3R5bGUgbmFtZT0iZ2xvYmFsX3N0eWxlcyI+Ym9keXtwYWRkaW5nOjA7bWFyZ2luOjA7b3ZlcmZsb3cteTpzY3JvbGx9Ym9keS5hdXRvc2Nyb2xse292ZXJmbG93LXk6YXV0b31ib2R5Lm5vLXNjcm9sbHtvdmVyZmxvdzpoaWRkZW59Ym9keS5uby15LXNjcm9sbHtvdmVyZmxvdy15OmhpZGRlbn0uaGlkZGVue2Rpc3BsYXk6bm9uZX10ZXh0YXJlYXstLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dF8tX3doaXRlLXNwYWNlOnByZS13cmFwfS5ncmVjYXB0Y2hhLWJhZGdle3Zpc2liaWxpdHk6aGlkZGVufTwvc3R5bGU+PHN0eWxlIG5hbWU9Im1hc3RoZWFkX3NoZWxsIj55dGQtbWFzdGhlYWQuc2hlbGx7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOTgpO3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7bGVmdDowO2Rpc3BsYXk6LW1zLWZsZXg7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2hlaWdodDo1NnB4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9eXRkLW1hc3RoZWFkLnNoZWxsICNtZW51LWljb257bWFyZ2luLWxlZnQ6MTZweH15dGQtYXBwPnl0ZC1tYXN0aGVhZC5jaHVua2Vke3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCV9eXRkLW1hc3RoZWFkLnNoZWxsLmRhcmsseXRkLW1hc3RoZWFkLnNoZWxsLnRoZWF0ZXJ7YmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuOTgpfXl0ZC1tYXN0aGVhZC5zaGVsbC5mdWxsLXdpbmRvdy1tb2Rle2JhY2tncm91bmQ6cmdiYSg0MCw0MCw0MCwwLjk4KTtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMTAwJSAtIDVweCkpfXl0ZC1tYXN0aGVhZC5zaGVsbD4qOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoxNnB4fXl0ZC1tYXN0aGVhZC5zaGVsbD4qOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDoxNnB4fXl0ZC1tYXN0aGVhZCAjbWFzdGhlYWQtbG9nb3tkaXNwbGF5Oi1tcy1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH15dGQtbWFzdGhlYWQgI21hc3RoZWFkLWxvZ28gI2NvdW50cnktY29kZXttYXJnaW4tcmlnaHQ6MnB4fXl0ZC1tYXN0aGVhZC5zaGVsbCAjeXQtbG9nby1zdmcseXRkLW1hc3RoZWFkLnNoZWxsICN5dC1sb2dvLXJlZC1zdmd7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luLWxlZnQ6OHB4O3BhZGRpbmc6MDtjb2xvcjpibGFja315dGQtbWFzdGhlYWQuc2hlbGwgI2ExMXktc2tpcC1uYXZ7ZGlzcGxheTpub25lfXl0ZC1tYXN0aGVhZC5zaGVsbCBzdmd7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDttYXJnaW4tcmlnaHQ6OHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojNjA2MDYwO2ZpbGw6Y3VycmVudENvbG9yfXl0ZC1tYXN0aGVhZCAuZXh0ZXJuYWwtaWNvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fXl0ZC1tYXN0aGVhZCAueXQtaWNvbnMtZXh0e2ZpbGw6Y3VycmVudENvbG9yO2NvbG9yOiM2MDYwNjB9eXRkLW1hc3RoZWFkLnNoZWxsLmRhcmsgLnl0LWljb25zLWV4dCB5dGQtbWFzdGhlYWQuc2hlbGwudGhlYXRlciAueXQtaWNvbnMtZXh0e2ZpbGw6I2ZmZn15dGQtbWFzdGhlYWQgc3ZnI3l0LWxvZ28tc3Zne3dpZHRoOjgwcHh9eXRkLW1hc3RoZWFkIHN2ZyN5dC1sb2dvLXJlZC1zdmd7d2lkdGg6MTA2LjRweH1AbWVkaWEgKG1heC13aWR0aDo2NTZweCl7eXRkLW1hc3RoZWFkLnNoZWxsPio6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjhweH15dGQtbWFzdGhlYWQuc2hlbGw+KjpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6OHB4fXl0ZC1tYXN0aGVhZC5zaGVsbCBzdmd7bWFyZ2luLXJpZ2h0OjB9eXRkLW1hc3RoZWFkICNtYXN0aGVhZC1sb2dvey1tcy1mbGV4OjEgMSAuMDAwMDAwMDAxcHg7LXdlYmtpdC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtZmxleC1iYXNpczouMDAwMDAwMDAxcHg7ZmxleC1iYXNpczouMDAwMDAwMDAxcHh9eXRkLW1hc3RoZWFkLnNoZWxsICN5dC1sb2dvLXN2Zyx5dGQtbWFzdGhlYWQuc2hlbGwgI3l0LWxvZ28tcmVkLXN2Z3ttYXJnaW4tbGVmdDo0cHh9fUBtZWRpYSAobWluLXdpZHRoOjg3NnB4KXt5dGQtbWFzdGhlYWQgI21hc3RoZWFkLWxvZ297d2lkdGg6MTI5cHh9fSNtYXN0aGVhZC1za2VsZXRvbi1pY29uc3tkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9eXRkLW1hc3RoZWFkLm1hc3RoZWFkLWZpbmlzaCAjbWFzdGhlYWQtc2tlbGV0b24taWNvbnN7ZGlzcGxheTpub25lfS5tYXN0aGVhZC1za2VsZXRvbi1pY29ue2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWFyZ2luOjAgOHB4O2JhY2tncm91bmQtY29sb3I6aHNsKDAsMCUsODklKX15dGQtbWFzdGhlYWQuZGFyayAubWFzdGhlYWQtc2tlbGV0b24taWNvbntiYWNrZ3JvdW5kLWNvbG9yOmhzbCgwLDAlLDE2JSl9PC9zdHlsZT48c3R5bGUgbmFtZT0ibWFzdGhlYWRfY3VzdG9tX3N0eWxlcyIgaXM9ImN1c3RvbS1zdHlsZSIgIGlkPSJleHQtc3R5bGVzIiA+eXRkLW1hc3RoZWFkIC55dC1pY29ucy1leHR7Y29sb3I6dmFyKC0teXQtc3BlYy1pY29uLWFjdGl2ZS1vdGhlcil9eXRkLW1hc3RoZWFkIHN2ZyN5dC1sb2dvLXN2ZyAjeW91dHViZS1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZCBzdmcjeXQtbG9nby1yZWQtc3ZnICN5b3V0dWJlLXJlZC1wYXRocyBwYXRoe2ZpbGw6IzI4MjgyOH15dGQtbWFzdGhlYWQuZGFyayBzdmcjeXQtbG9nby1zdmcgI3lvdXR1YmUtcGF0aHMgcGF0aCx5dGQtbWFzdGhlYWQuZGFyayBzdmcjeXQtbG9nby1yZWQtc3ZnICN5b3V0dWJlLXJlZC1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZC50aGVhdGVyIHN2ZyN5dC1sb2dvLXN2ZyAjeW91dHViZS1wYXRocyBwYXRoLHl0ZC1tYXN0aGVhZC50aGVhdGVyIHN2ZyN5dC1sb2dvLXJlZC1zdmcgI3lvdXR1YmUtcmVkLXBhdGhzIHBhdGh7ZmlsbDojZmZmfTwvc3R5bGU+PHN0eWxlIG5hbWU9InNlYXJjaGJveCI+I3NlYXJjaC1pbnB1dC55dGQtc2VhcmNoYm94LXNwdCBpbnB1dHstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO2NvbG9yOmluaGVyaXQ7Zm9udC1mYW1pbHk6J1JvYm90bycsJ05vdG8nLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luLWxlZnQ6NHB4O21heC13aWR0aDoxMDAlO291dGxpbmU6bm9uZTt0ZXh0LWFsaWduOmluaGVyaXQ7d2lkdGg6MTAwJTstbXMtZmxleDoxIDEgLjAwMDAwMDAwMXB4Oy13ZWJraXQtZmxleDoxO2ZsZXg6MTstd2Via2l0LWZsZXgtYmFzaXM6LjAwMDAwMDAwMXB4O2ZsZXgtYmFzaXM6LjAwMDAwMDAwMXB4fSNzZWFyY2gtY29udGFpbmVyLnl0ZC1zZWFyY2hib3gtc3B0e3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9I3NlYXJjaC1pbnB1dC55dGQtc2VhcmNoYm94LXNwdCAjc2VhcmNoOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCNzZWFyY2gtaW5wdXQueXRkLXNlYXJjaGJveC1zcHQgI3NlYXJjaDo6LW1vei1pbnB1dC1wbGFjZWhvbGRlciwjc2VhcmNoLWlucHV0Lnl0ZC1zZWFyY2hib3gtc3B0ICNzZWFyY2g6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOmhzbCgwLDAlLDUzLjMlKX08L3N0eWxlPjxzdHlsZSBuYW1lPSJrZXZsYXJfZ2xvYmFsX3N0eWxlcyI+aHRtbHtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5ZjkhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDpub25lfWh0bWxbZGFya117YmFja2dyb3VuZC1jb2xvcjojMTgxODE4IWltcG9ydGFudH0jbG9nby1yZWQtaWNvbi1jb250YWluZXIueXRkLXRvcGJhci1sb2dvLXJlbmRlcmVye3dpZHRoOjg2cHh9PC9zdHlsZT48c3R5bGUgbmFtZT0iZW1lcmdlbmN5Y3NzZXhwIj4KICAgICAgCiAgICAgIAogICAgPC9zdHlsZT48bGluayByZWw9InNlYXJjaCIgdHlwZT0iYXBwbGljYXRpb24vb3BlbnNlYXJjaGRlc2NyaXB0aW9uK3htbCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vb3BlbnNlYXJjaD9sb2NhbGU9cHRfQlIiIHRpdGxlPSJZb3VUdWJlIj48bGluayByZWw9Im1hbmlmZXN0IiBocmVmPSIvcy9ub3RpZmljYXRpb25zL21hbmlmZXN0L21hbmlmZXN0Lmpzb24iIGNyb3Nzb3JpZ2luPSJ1c2UtY3JlZGVudGlhbHMiPjwhLS0gZW5kIG9mIGNodW5rIC0tPiAgICAgICAgPHNjcmlwdCA+CiAgICAgICAgaWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJiYyIsIG51bGwsICcnKTt9ICAgICAgICB2YXIgeXRpbWcgPSB7fTt5dGltZy5jb3VudCA9IDE7eXRpbWcucHJlbG9hZCA9IGZ1bmN0aW9uKHNyYykge3ZhciBpbWcgPSBuZXcgSW1hZ2UoKTt2YXIgY291bnQgPSArK3l0aW1nLmNvdW50O3l0aW1nW2NvdW50XSA9IGltZztpbWcub25sb2FkID0gaW1nLm9uZXJyb3IgPSBmdW5jdGlvbigpIHtkZWxldGUgeXRpbWdbY291bnRdO307aW1nLnNyYyA9IHNyYzt9OwogICAgICAgICAgeXRpbWcucHJlbG9hZCgiaHR0cHM6XC9cL3I1LS0tc24tb3h1bnhnOHBqdm4tMnY1ZS5nb29nbGV2aWRlby5jb21cL2dlbmVyYXRlXzIwNCIpOwogICAgICAgICAgeXRpbWcucHJlbG9hZCgiaHR0cHM6XC9cL3I1LS0tc24tb3h1bnhnOHBqdm4tMnY1ZS5nb29nbGV2aWRlby5jb21cL2dlbmVyYXRlXzIwND9jb25uMiIpOwogICAgICA8L3NjcmlwdD4KCiAgCiAgICAKICA8ZGl2IGlkPSJwbGF5ZXIiIGNsYXNzPSJza2VsZXRvbiI+CiAgICAgIDxkaXYgaWQ9InBsYXllci1hcGkiIGNsYXNzPSJwbGF5ZXItd2lkdGggcGxheWVyLWhlaWdodCBvZmYtc2NyZWVuLXRhcmdldCBwbGF5ZXItYXBpIj48L2Rpdj4KICAgICAgICAKICA8L2Rpdj4KCiAgPCEtLSBlbmQgb2YgY2h1bmsgLS0+CiAgICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImFpIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICA8eXRkLWFwcCBkaXNhYmxlLXVwZ3JhZGU9InRydWUiPgogICAgPHl0ZC1tYXN0aGVhZCBpZD0ibWFzdGhlYWQiIHNsb3Q9Im1hc3RoZWFkIiBjbGFzcz0ic2hlbGwgIGNodW5rZWQiZGlzYWJsZS11cGdyYWRlPSJ0cnVlIj48ZGl2IGlkPSJzZWFyY2gtY29udGFpbmVyIiBjbGFzcz0ieXRkLXNlYXJjaGJveC1zcHQiIHNsb3Q9InNlYXJjaC1jb250YWluZXIiPjwvZGl2PjxkaXYgaWQ9InNlYXJjaC1pbnB1dCIgY2xhc3M9Inl0ZC1zZWFyY2hib3gtc3B0IiBzbG90PSJzZWFyY2gtaW5wdXQiPjxpbnB1dCBpZD0ic2VhcmNoIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvbXBsZXRlPSJvZmYiYXV0b2NvcnJlY3Q9Im9mZiIgIGhpZGRlbiBuYW1lPSJzZWFyY2hfcXVlcnkiIHRhYmluZGV4PSIwInR5cGU9InRleHQiIHNwZWxsY2hlY2s9ImZhbHNlIj48L2Rpdj48c3ZnIGlkPSJtZW51LWljb24iIGNsYXNzPSJleHRlcm5hbC1pY29uIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij48ZyBpZD0ibWVudSIgY2xhc3M9Inl0LWljb25zLWV4dCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyAxOGgxOHYtMkgzdjJ6bTAtNWgxOHYtMkgzdjJ6bTAtN3YyaDE4VjZIM3oiLz48L2c+PC9zdmc+PGRpdiBpZD0ibWFzdGhlYWQtbG9nbyIgc2xvdD0ibWFzdGhlYWQtbG9nbyI+ICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyI+CiAgICA8c3ZnIGlkPSJ5dC1sb2dvLXN2ZyIgY2xhc3M9ImV4dGVybmFsLWljb24iIHZpZXdCb3g9IjAgMCAyMDAgNjAiPgogICAgICA8ZyBpZD0ieXQtbG9nbyIgdmlld0JveD0iMCAwIDIwMCA2MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+CiAgICAgICAgPGc+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjRkYwMDAwIiBkPSJNNjMsMTQuODdjLTAuNzItMi43LTIuODUtNC44My01LjU2LTUuNTZDNTIuNTQsOCwzMi44OCw4LDMyLjg4LDhTMTMuMjMsOCw4LjMyLDkuMzEKICAgICAgICAgICAgYy0yLjcsMC43Mi00LjgzLDIuODUtNS41Niw1LjU2QzEuNDUsMTkuNzcsMS40NSwzMCwxLjQ1LDMwczAsMTAuMjMsMS4zMSwxNS4xM2MwLjcyLDIuNywyLjg1LDQuODMsNS41Niw1LjU2CiAgICAgICAgICAgIEMxMy4yMyw1MiwzMi44OCw1MiwzMi44OCw1MnMxOS42NiwwLDI0LjU2LTEuMzFjMi43LTAuNzIsNC44My0yLjg1LDUuNTYtNS41NkM2NC4zMSw0MC4yMyw2NC4zMSwzMCw2NC4zMSwzMAogICAgICAgICAgICBTNjQuMzEsMTkuNzcsNjMsMTQuODd6Ii8+CiAgICAgICAgICA8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjI2LjYsMzkuNDMgNDIuOTMsMzAgMjYuNiwyMC41NyIvPgogICAgICAgIDwvZz4KICAgICAgICA8Zz4KICAgICAgICAgIDxnIGlkPSJ5b3V0dWJlLXBhdGhzIj4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTkyLjY5LDQ4LjAzYy0xLjI0LTAuODQtMi4xMy0yLjE0LTIuNjUtMy45MWMtMC41Mi0xLjc3LTAuNzktNC4xMi0wLjc5LTcuMDZ2LTQKICAgICAgICAgICAgICBjMC0yLjk3LDAuMy01LjM1LDAuOS03LjE1YzAuNi0xLjgsMS41NC0zLjExLDIuODEtMy45M2MxLjI3LTAuODIsMi45NC0xLjI0LDUuMDEtMS4yNGMyLjA0LDAsMy42NywwLjQyLDQuOSwxLjI2CiAgICAgICAgICAgICAgYzEuMjMsMC44NCwyLjEzLDIuMTUsMi43LDMuOTNjMC41NywxLjc4LDAuODUsNC4xNiwwLjg1LDcuMTJ2NGMwLDIuOTQtMC4yOCw1LjMtMC44Myw3LjA4Yy0wLjU1LDEuNzgtMS40NSwzLjA5LTIuNywzLjkxCiAgICAgICAgICAgICAgYy0xLjI0LDAuODItMi45MywxLjI0LTUuMDYsMS4yNEM5NS42NSw0OS4yOSw5My45Myw0OC44Nyw5Mi42OSw0OC4wM3ogTTk5LjY2LDQzLjcxYzAuMzQtMC45LDAuNTItMi4zNywwLjUyLTQuNHYtOC41OQogICAgICAgICAgICAgIGMwLTEuOTgtMC4xNy0zLjQyLTAuNTItNC4zNGMtMC4zNC0wLjkxLTAuOTUtMS4zNy0xLjgyLTEuMzdjLTAuODQsMC0xLjQzLDAuNDYtMS43OCwxLjM3Yy0wLjM0LDAuOTEtMC41MiwyLjM2LTAuNTIsNC4zNHY4LjU5CiAgICAgICAgICAgICAgYzAsMi4wNCwwLjE2LDMuNTEsMC40OSw0LjRjMC4zMywwLjksMC45MywxLjM1LDEuOCwxLjM1Qzk4LjcxLDQ1LjA2LDk5LjMxLDQ0LjYxLDk5LjY2LDQzLjcxeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTg4LjE2LDM3LjEzdjEuMzljMCwxLjc3LDAuMDUsMy4wOSwwLjE2LDMuOThjMC4xLDAuODgsMC4zMiwxLjUzLDAuNjUsMS45MwogICAgICAgICAgICAgIGMwLjMzLDAuNCwwLjg0LDAuNjEsMS41MywwLjYxYzAuOTMsMCwxLjU3LTAuMzYsMS45MS0xLjA4YzAuMzQtMC43MiwwLjUzLTEuOTIsMC41Ni0zLjZsNS4zNSwwLjMxCiAgICAgICAgICAgICAgYzAuMDMsMC4yNCwwLjA0LDAuNTcsMC4wNCwwLjk5YzAsMi41NS0wLjcsNC40NS0yLjA5LDUuNzFjLTEuMzksMS4yNi0zLjM2LDEuODktNS45MSwxLjg5Yy0zLjA2LDAtNS4yLTAuOTYtNi40My0yLjg4CiAgICAgICAgICAgICAgYy0xLjIzLTEuOTItMS44NC00Ljg4LTEuODQtOC45di00LjgxYzAtNC4xNCwwLjY0LTcuMTUsMS45MS05LjA2YzEuMjctMS45LDMuNDUtMi44NSw2LjU0LTIuODVjMi4xMywwLDMuNzYsMC4zOSw0LjksMS4xNwogICAgICAgICAgICAgIGMxLjE0LDAuNzgsMS45NCwxLjk5LDIuNDEsMy42NGMwLjQ2LDEuNjUsMC43LDMuOTMsMC43LDYuODN2NC43MkgxODguMTZ6IE0xODguOTUsMjUuNTNjLTAuMzEsMC4zOS0wLjUyLDEuMDMtMC42MywxLjkxCiAgICAgICAgICAgICAgYy0wLjExLDAuODgtMC4xNiwyLjIzLTAuMTYsNC4wMnYxLjk4aDQuNTR2LTEuOThjMC0xLjc3LTAuMDYtMy4xMS0wLjE4LTQuMDJjLTAuMTItMC45MS0wLjM0LTEuNTYtMC42NS0xLjkzCiAgICAgICAgICAgICAgYy0wLjMxLTAuMzctMC44LTAuNTYtMS40Ni0wLjU2QzE4OS43NSwyNC45NCwxODkuMjYsMjUuMTQsMTg4Ljk1LDI1LjUzeiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNNzcuNTksMzYuNjFsLTcuMDYtMjUuNDloNi4xNmwyLjQ3LDExLjU1YzAuNjMsMi44NSwxLjA5LDUuMjcsMS4zOSw3LjI4aDAuMTgKICAgICAgICAgICAgICBjMC4yMS0xLjQ0LDAuNjctMy44NSwxLjM5LTcuMjRsMi41Ni0xMS42aDYuMTZMODMuNywzNi42MXYxMi4yM2gtNi4xMVYzNi42MXoiLz4KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTEyNi40NSwyMS4yOHYyNy41NWgtNC44NWwtMC41NC0zLjM3aC0wLjEzYy0xLjMyLDIuNTUtMy4zLDMuODItNS45MywzLjgyYy0xLjgzLDAtMy4xOC0wLjYtNC4wNS0xLjgKICAgICAgICAgICAgICBjLTAuODctMS4yLTEuMy0zLjA3LTEuMy01LjYyVjIxLjI4aDYuMnYyMC4yM2MwLDEuMjMsMC4xMywyLjExLDAuNCwyLjYzYzAuMjcsMC41MiwwLjcyLDAuNzksMS4zNSwwLjc5CiAgICAgICAgICAgICAgYzAuNTQsMCwxLjA2LTAuMTYsMS41NS0wLjQ5YzAuNDktMC4zMywwLjg2LTAuNzUsMS4xLTEuMjZWMjEuMjhIMTI2LjQ1eiIvPgogICAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNMTU4LjI3LDIxLjI4djI3LjU1aC00Ljg1bC0wLjU0LTMuMzdoLTAuMTNjLTEuMzIsMi41NS0zLjMsMy44Mi01LjkzLDMuODJjLTEuODMsMC0zLjE4LTAuNi00LjA1LTEuOAogICAgICAgICAgICAgIGMtMC44Ny0xLjItMS4zLTMuMDctMS4zLTUuNjJWMjEuMjhoNi4ydjIwLjIzYzAsMS4yMywwLjEzLDIuMTEsMC40LDIuNjNjMC4yNywwLjUyLDAuNzIsMC43OSwxLjM1LDAuNzkKICAgICAgICAgICAgICBjMC41NCwwLDEuMDYtMC4xNiwxLjU1LTAuNDljMC40OS0wLjMzLDAuODYtMC43NSwxLjEtMS4yNlYyMS4yOEgxNTguMjd6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xNDMuMzEsMTYuMTFoLTYuMTZ2MzIuNzJoLTYuMDdWMTYuMTFoLTYuMTZ2LTQuOTloMTguMzhWMTYuMTF6Ii8+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik0xNzguOCwyNS42OWMtMC4zOC0xLjc0LTAuOTgtMy0xLjgyLTMuNzhjLTAuODQtMC43OC0xLjk5LTEuMTctMy40Ni0xLjE3Yy0xLjE0LDAtMi4yLDAuMzItMy4xOSwwLjk3CiAgICAgICAgICAgICAgYy0wLjk5LDAuNjQtMS43NSwxLjQ5LTIuMjksMi41NGgtMC4wNWwwLTE0LjUyaC01Ljk4djM5LjExaDUuMTJsMC42My0yLjYxaDAuMTNjMC40OCwwLjkzLDEuMiwxLjY2LDIuMTYsMi4yCiAgICAgICAgICAgICAgYzAuOTYsMC41NCwyLjAyLDAuODEsMy4xOSwwLjgxYzIuMSwwLDMuNjQtMC45Nyw0LjYzLTIuOWMwLjk5LTEuOTMsMS40OC00Ljk1LDEuNDgtOS4wNnYtNC4zNgogICAgICAgICAgICAgIEMxNzkuMzYsMjkuODQsMTc5LjE3LDI3LjQzLDE3OC44LDI1LjY5eiBNMTczLjExLDM2LjkzYzAsMi4wMS0wLjA4LDMuNTgtMC4yNSw0LjcyYy0wLjE2LDEuMTQtMC40NCwxLjk1LTAuODMsMi40MwogICAgICAgICAgICAgIGMtMC4zOSwwLjQ4LTAuOTEsMC43Mi0xLjU3LDAuNzJjLTAuNTEsMC0wLjk4LTAuMTItMS40Mi0wLjM2Yy0wLjQzLTAuMjQtMC43OS0wLjYtMS4wNi0xLjA4VjI3LjcxCiAgICAgICAgICAgICAgYzAuMjEtMC43NSwwLjU3LTEuMzYsMS4wOC0xLjg0YzAuNTEtMC40OCwxLjA2LTAuNzIsMS42Ni0wLjcyYzAuNjMsMCwxLjEyLDAuMjUsMS40NiwwLjc0YzAuMzQsMC40OSwwLjU4LDEuMzMsMC43MiwyLjQ5CiAgICAgICAgICAgICAgYzAuMTMsMS4xNywwLjIsMi44MywwLjIsNC45OVYzNi45M3oiLz4KICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICAgIDwvZz4KICAgIDwvc3ZnPgogIDwvZGl2PgogIDxkaXYgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgIDxzdmcgaWQ9Inl0LWxvZ28tcmVkLXN2ZyIgY2xhc3M9ImV4dGVybmFsLWljb24iIHZpZXdCb3g9IjAgMCA5OCAyNCIgc3R5bGU9IndpZHRoOjg2cHg7Ij4KICAgICAgPGcgaWQ9Inl0LWxvZ28tcmVkIiB2aWV3Qm94PSIwIDAgOTggMjQiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgogICAgICAgIDxnPgogICAgICAgICAgPHBhdGggZmlsbD0iI0ZGMDAwMCIgZD0iTTI4LjQsNS4xMmMtMC4zNC0xLjI0LTEuMzEtMi4yLTIuNTUtMi41MkMyMy42MiwyLDE0LjY4LDIsMTQuNjgsMlM1Ljc1LDIsMy41MiwyLjYKICAgICAgICAgICAgQzIuMjksMi45MywxLjMzLDMuODksMSw1LjEyQzAuNTksNy4zOSwwLjM5LDkuNjksMC40LDEyYy0wLjAxLDIuMzEsMC4xOSw0LjYxLDAuNiw2Ljg4YzAuMzMsMS4yMywxLjI5LDIuMTksMi41MiwyLjUyCiAgICAgICAgICAgIEM1Ljc1LDIyLDE0LjY4LDIyLDE0LjY4LDIyczguOTMsMCwxMS4xNi0wLjZjMS4yNC0wLjMyLDIuMjItMS4yOCwyLjU2LTIuNTJjMC40MS0yLjI3LDAuNjEtNC41NywwLjYtNi44OAogICAgICAgICAgICBDMjkuMDEsOS42OSwyOC44MSw3LjM5LDI4LjQsNS4xMnoiLz4KICAgICAgICAgIDxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTEuODMsMTYuMjkgMTkuMjUsMTIgMTEuODMsNy43MSIvPgogICAgICAgIDwvZz4KICAgICAgICA8ZyBpZD0ieW91dHViZS1yZWQtcGF0aHMiPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTQxLjY3LDguMzVWOWMwLDMuNDUtMS41Myw1LjQ4LTQuODgsNS40OGgtMC41MXY2aC0yLjc0VjMuNDJoMy40OUM0MC4yMiwzLjQyLDQxLjY3LDQuNzcsNDEuNjcsOC4zNXoKICAgICAgICAgICAgTTM4Ljc5LDguNmMwLTIuNDktMC40NS0zLjA5LTItMy4wOWgtMC41MXY3aDAuNDdjMS40NywwLDItMS4wNiwyLTMuMzdMMzguNzksOC42eiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTQ4LjE0LDcuODNMNDgsMTEuMDhjLTEuMTctMC4yNC0yLjEzLTAuMDgtMi42LDAuNjl2OC43OGgtMi42N1Y4aDIuMTdsMC4yNCwyLjcxaDAuMWMwLjI4LTIsMS4yLTMsMi4zOS0zCiAgICAgICAgICAgIEM0Ny44LDcuNzMsNDcuOTgsNy43Nyw0OC4xNCw3LjgzeiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTUxLjI3LDE1LjI1djAuNjNjMCwyLjIxLDAuMTIsMywxLjA2LDNzMS4xLTAuNjksMS4xMi0yLjEybDIuNDMsMC4xNGMwLjE4LDIuNy0xLjIzLDMuOS0zLjYxLDMuOQogICAgICAgICAgICBjLTIuOSwwLTMuNzYtMS45LTMuNzYtNS4zNXYtMi4yM2MwLTMuNjQsMS01LjQxLDMuODQtNS40MXMzLjY0LDEuNTEsMy42NCw1LjI5djIuMTVINTEuMjd6IE01MS4yNywxMi42N3YwLjloMi4wNnYtMC44OQogICAgICAgICAgICBjMC0yLjMtMC4xNi0zLTEtM3MtMSwwLjY3LTEsM0w1MS4yNywxMi42N3oiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik03MC4wMiwxMS4xdjkuNDZINjcuMnYtOS4yNWMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41NCwwLjAyLTEuMDIsMC4zNC0xLjI1LDAuODIKICAgICAgICAgICAgYzAuMDEsMC4xNywwLjAxLDAuMzQsMCwwLjUxdjkuNDZoLTIuNzl2LTkuMjZjMC0xLTAuMjctMS41My0wLjg4LTEuNTNjLTAuNTMsMC4wMi0xLDAuMzMtMS4yMywwLjh2MTBINTcuNFY4aDIuMjNsMC4yNSwxLjU5bDAsMAogICAgICAgICAgICBjMC41MS0xLjEyLDEuNjMtMS44NSwyLjg2LTEuODZjMS4wNS0wLjA3LDEuOTgsMC42NywyLjE2LDEuN2MwLjU1LTEuMDEsMS42MS0xLjY1LDIuNzYtMS42NkM2OS40LDcuNzgsNzAuMDIsOSw3MC4wMiwxMS4xeiIvPgogICAgICAgICAgPHBhdGggZmlsbD0iIzI4MjgyOCIgZD0iTTcxLjQsNC44M2MwLTEuMzUsMC40OS0xLjc0LDEuNTMtMS43NHMxLjUzLDAuNDUsMS41MywxLjc0cy0wLjQ3LDEuNzQtMS41MywxLjc0UzcxLjQsNi4yMiw3MS40LDQuODN6CiAgICAgICAgICAgIE03MS41OSw4aDIuN3YxMi41NmgtMi43Vjh6Ii8+CiAgICAgICAgICA8cGF0aCBmaWxsPSIjMjgyODI4IiBkPSJNODMuNSw4djEyLjU2aC0yLjJMODEuMDUsMTloLTAuMDZjLTAuNDYsMS4wOC0xLjUzLDEuNzctMi43LDEuNzRjLTEuNjcsMC0yLjQzLTEuMDYtMi40My0zLjM3VjhoMi44MgogICAgICAgICAgICB2OS4xOWMwLDEuMSwwLjIzLDEuNTUsMC44LDEuNTVjMC41Mi0wLjAyLDAuOTgtMC4zMywxLjItMC44VjhIODMuNXoiLz4KICAgICAgICAgIDxwYXRoIGZpbGw9IiMyODI4MjgiIGQ9Ik05Ny44LDExLjF2OS40NmgtMi44MnYtOS4yNWMwLTEtMC4yNy0xLjUzLTAuODgtMS41M2MtMC41NCwwLjAyLTEuMDIsMC4zNC0xLjI1LDAuODIKICAgICAgICAgICAgYzAuMDEsMC4xNywwLjAxLDAuMzQsMCwwLjUxdjkuNDZoLTIuNzl2LTkuMjZjMC0xLTAuMjctMS41My0wLjg4LTEuNTNjLTAuNTMsMC4wMi0xLDAuMzMtMS4yMywwLjh2MTBoLTIuODFWOGgyLjI2bDAuMjQsMS41OWwwLDAKICAgICAgICAgICAgYzAuNTEtMS4xMiwxLjYzLTEuODUsMi44Ni0xLjg2YzEuMDQtMC4wNywxLjk3LDAuNjQsMi4xNywxLjY2YzAuNTUtMC45OSwxLjYtMS42MSwyLjczLTEuNjJDOTcuMTUsNy43OCw5Ny44LDksOTcuOCwxMS4xeiIvPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9zdmc+CiAgPC9kaXY+CjxzcGFuIGlkPSJjb3VudHJ5LWNvZGUiPjwvc3Bhbj48L2Rpdj48ZGl2IGlkPSJtYXN0aGVhZC1za2VsZXRvbi1pY29ucyIgc2xvdD0ibWFzdGhlYWQtc2tlbGV0b24iPjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjxkaXYgY2xhc3M9Im1hc3RoZWFkLXNrZWxldG9uLWljb24iPjwvZGl2PjwvZGl2PjwveXRkLW1hc3RoZWFkPgogICAgICA8YSBzbG90PSJndWlkZS1saW5rcy1wcmltYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9hYm91dC8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+U29icmU8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vYWJvdXQvcHJlc3MvIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkltcHJlbnNhPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fib3V0L2NvcHlyaWdodC8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+RGlyZWl0b3MgYXV0b3JhaXM8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iL3QvY29udGFjdF91cyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5FbnRyZSBlbSBjb250YXRvPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NyZWF0b3JzLyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5DcmlhZG9yZXMgZGUgY29udGXDumRvPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXByaW1hcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fkcy8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+UHVibGljaWRhZGU8L2E+CiAgPGEgc2xvdD0iZ3VpZGUtbGlua3MtcHJpbWFyeSIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20veW91dHViZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5EZXNlbnZvbHZlZG9yZXM8L2E+CgogICAgICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Ii90L3Rlcm1zIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPlRlcm1vczwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20uYnIvaW50bC9wdC1CUi9wb2xpY2llcy9wcml2YWN5LyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Qcml2YWNpZGFkZTwvYT4KICA8YSBzbG90PSJndWlkZS1saW5rcy1zZWNvbmRhcnkiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2Fib3V0L3BvbGljaWVzLyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Qb2zDrXRpY2EgZSBTZWd1cmFuw6dhPC9hPgogICAgPGEgc2xvdD0iZ3VpZGUtbGlua3Mtc2Vjb25kYXJ5IiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9ob3d5b3V0dWJld29ya3M/dXRtX2NhbXBhaWduPXl0Z2VuJmFtcDt1dG1fc291cmNlPXl0aHAmYW1wO3V0bV9tZWRpdW09TGVmdE5hdiZhbXA7dXRtX2NvbnRlbnQ9dHh0JmFtcDt1PWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGaG93eW91dHViZXdvcmtzJTNGdXRtX3NvdXJjZSUzRHl0aHAlMjZ1dG1fbWVkaXVtJTNETGVmdE5hdiUyNnV0bV9jYW1wYWlnbiUzRHl0Z2VuIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPkNvbW8gZnVuY2lvbmEgbyBZb3VUdWJlPC9hPgogIDxhIHNsb3Q9Imd1aWRlLWxpbmtzLXNlY29uZGFyeSIgaHJlZj0iL25ldyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5UZXN0YXIgb3Mgbm92b3MgcmVjdXJzb3M8L2E+CgogICAgICA8ZGl2IGlkPSJ2YXQtbm90aWNlIiBzbG90PSJ2YXQtbm90aWNlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogIDwvZGl2PgoKICAgICAgPGRpdiBpZD0iY29weXJpZ2h0IiBzbG90PSJjb3B5cmlnaHQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICA8ZGl2IGRpcj0ibHRyIiBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiZjb3B5OyAyMDIwIEdvb2dsZSBMTEM8L2Rpdj4KICA8L2Rpdj4KCiAgPC95dGQtYXBwPgoKICA8c2NyaXB0ID5pZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soIm5jX3BqIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICAgIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi9zcGYudmZsc2V0L3NwZi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJzcGYvc3BmIiA+PC9zY3JpcHQ+ICAKPHNjcmlwdCA+aWYgKHdpbmRvd1snX3NwZl9zdGF0ZSddKSB7d2luZG93Wydfc3BmX3N0YXRlJ10uY29uZmlnID0geyJhc3N1bWUtYWxsLWpzb24tcmVxdWVzdHMtY2h1bmtlZCI6dHJ1ZX07fTwvc2NyaXB0PiAgCjxzY3JpcHQgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL25ldHdvcmsudmZsc2V0L25ldHdvcmsuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0ibmV0d29yay9uZXR3b3JrIiA+PC9zY3JpcHQ+ICAKICAKPHNjcmlwdCAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYTkwMDM2ZWEvanNiaW4vd2ViLWFuaW1hdGlvbnMtbmV4dC1saXRlLm1pbi52ZmxzZXQvd2ViLWFuaW1hdGlvbnMtbmV4dC1saXRlLm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJ3ZWItYW5pbWF0aW9ucy1uZXh0LWxpdGUubWluL3dlYi1hbmltYXRpb25zLW5leHQtbGl0ZS5taW4iID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi93ZWJjb21wb25lbnRzLWxpdGUtbm9QYXRjaC52ZmxzZXQvd2ViY29tcG9uZW50cy1saXRlLW5vUGF0Y2guanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0id2ViY29tcG9uZW50cy1saXRlLW5vUGF0Y2gvd2ViY29tcG9uZW50cy1saXRlLW5vUGF0Y2giID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi9mZXRjaC1wb2x5ZmlsbC52ZmxzZXQvZmV0Y2gtcG9seWZpbGwuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgbmFtZT0iZmV0Y2gtcG9seWZpbGwvZmV0Y2gtcG9seWZpbGwiID48L3NjcmlwdD4gIAogIAo8c2NyaXB0ICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9hOTAwMzZlYS9qc2Jpbi93d3ctaTE4bi1jb25zdGFudHMtcHRfQlIudmZsc2V0L3d3dy1pMThuLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBuYW1lPSJ3d3ctaTE4bi1jb25zdGFudHMvd3d3LWkxOG4tY29uc3RhbnRzIiA+PC9zY3JpcHQ+ICAKICAgICAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJyc2JlX2RwaiIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CgoKPHNjcmlwdCA+KGZ1bmN0aW9uKCkge3ZhciBsb2FkSlMgPSBmdW5jdGlvbihlKSB7aWYgKGUpIHt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignSFRNTEltcG9ydHNMb2FkZWQnLCBsb2FkSlMpO312YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7c2NyaXB0LnNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2E5MDAzNmVhL2pzYmluL2Rlc2t0b3BfcG9seW1lcl9pbmxpbmVkX2h0bWxfcG9seW1lcl9mbGFnc19sZWdhY3lfYnJvd3NlcnMudmZsc2V0L2Rlc2t0b3BfcG9seW1lcl9pbmxpbmVkX2h0bWxfcG9seW1lcl9mbGFnc19sZWdhY3lfYnJvd3NlcnMuanMiO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7dmFyIGxvYWRFdmVudCA9IG5ldyBFdmVudCgic2NyaXB0LWxvYWQtZHBqIik7d2luZG93LmRpc3BhdGNoRXZlbnQobG9hZEV2ZW50KTt9O307aWYgKHdpbmRvdy5IVE1MSW1wb3J0cyAmJiB3aW5kb3cuSFRNTEltcG9ydHMucmVhZHkpIHtsb2FkSlMoKTt9IGVsc2Uge3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdIVE1MSW1wb3J0c0xvYWRlZCcsIGxvYWRKUyk7fX0pKCk7PC9zY3JpcHQ+ICAgICAgPHNjcmlwdCA+aWYgKHdpbmRvdy55dGNzaSkge3dpbmRvdy55dGNzaS50aWNrKCJyc2FlX2RwaiIsIG51bGwsICcnKTt9PC9zY3JpcHQ+CgogIAo8c2NyaXB0ID52YXIgc2NoZWR1bGVBcHBMb2FkPWZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcmlwdC1sb2FkLWRwaiIsc2NoZWR1bGVBcHBMb2FkKTtpZih3aW5kb3cueXRzaWduYWxzJiZ3aW5kb3cueXRzaWduYWxzLmdldEluc3RhbmNlKXt2YXIgYT13aW5kb3cueXRzaWduYWxzLmdldEluc3RhbmNlKCksYj1hLm9uQW55KFsiZW9pciIsImVvciJdKTthLnBhcmtPclNjaGVkdWxlSm9iKGFwcExvYWQsMyxiKX1lbHNlIGlmKGFwcExvYWQoKSxhPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LGE9LTE9PT1hLmluZGV4T2YoIm1zbmJvdCIpJiYtMT09PWEuaW5kZXhPZigiQmluZ1ByZXZpZXciKSYmLTE9PT1hLmluZGV4T2YoImJpbmdib3QiKSl3aW5kb3cub25lcnJvcigieXRzaWduYWxzIG1pc3NpbmciLCJhc3luY19hdHRhY2hfYXBwX2xvYWRlci5qcyIsMCwwLEVycm9yKCJ5dHNpZ25hbHMgbWlzc2luZyIpKX0sYXBwTG9hZD1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy55dGNzaTsKYSYmYS50aWNrKCJhcGFfYiIpO3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0ZC1hcHAiKSxjPWImJmIucXVlcnlTZWxlY3RvcigieXRkLW1hc3RoZWFkIik7YyYmYy5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGUtdXBncmFkZSIpO2ImJmIucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlLXVwZ3JhZGUiKTthJiZhLnRpY2soImFwYV9hIil9LHl0U2lnbmFscz13aW5kb3cueXRzaWduYWxzO3l0U2lnbmFscz9zY2hlZHVsZUFwcExvYWQoKTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2NyaXB0LWxvYWQtZHBqIixzY2hlZHVsZUFwcExvYWQpOwo8L3NjcmlwdD4gIAoKICA8c2NyaXB0ID4KICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYWMiLCBudWxsLCAnJyk7fQogICAgdmFyIG9uUG9seW1lclJlYWR5ID0gZnVuY3Rpb24oZSkgewogICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2NyaXB0LWxvYWQtZHBqJywgb25Qb2x5bWVyUmVhZHkpOwogICAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImFwciIsIG51bGwsICcnKTt9CiAgICB9CgogICAgaWYgKHdpbmRvdy5Qb2x5bWVyICYmIFBvbHltZXIuUmVuZGVyU3RhdHVzKSB7CiAgICAgIG9uUG9seW1lclJlYWR5KCk7CiAgICB9IGVsc2UgewogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2NyaXB0LWxvYWQtZHBqJywgb25Qb2x5bWVyUmVhZHkpOwogICAgfQoKICA8L3NjcmlwdD4KICA8IS0tIGVuZCBvZiBjaHVuayAtLT4KICAgIDxkaXYgaWQ9IndhdGNoLXBhZ2Utc2tlbGV0b24iIGNsYXNzPSJ3YXRjaC1za2VsZXRvbiAiPgogICAgPGRpdiBpZD0iY29udGFpbmVyIj4KICAgICAgPGRpdiBpZD0icmVsYXRlZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYXV0b3BsYXkgc2tlbGV0b24tbGlnaHQtYm9yZGVyLWJvdHRvbSI+CiAgICAgICAgICA8ZGl2IGlkPSJ1cG5leHQiIGNsYXNzPSJza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXNrZWxldG9uIj4KICAgIDxkaXYgY2xhc3M9InZpZGVvLWRldGFpbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWxzIGZsZXgtMSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tdGl0bGUgdGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tbWV0YSB0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJpbmZvLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBpZD0icHJpbWFyeS1pbmZvIiBjbGFzcz0ic2tlbGV0b24tbGlnaHQtYm9yZGVyLWJvdHRvbSI+CiAgICAgICAgICA8ZGl2IGlkPSJ0aXRsZSIgY2xhc3M9InRleHQtc2hlbGwgc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgPGRpdiBpZD0iaW5mbyI+CiAgICAgICAgICAgIDxkaXYgaWQ9ImNvdW50IiBjbGFzcz0idGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtMSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im1lbnUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1idXR0b24gc2tlbGV0b24tYmctY29sb3IiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9InNlY29uZGFyeS1pbmZvIiBjbGFzcz0ic2tlbGV0b24tbGlnaHQtYm9yZGVyLWJvdHRvbSI+CiAgICAgICAgICA8ZGl2IGlkPSJ0b3Atcm93Ij4KICAgICAgICAgICAgPGRpdiBpZD0idmlkZW8tb3duZXIiIGNsYXNzPSJmbGV4LTEiPgogICAgICAgICAgICAgIDxkaXYgaWQ9ImNoYW5uZWwtaWNvbiIgY2xhc3M9InNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGlkPSJ1cGxvYWQtaW5mbyIgY2xhc3M9ImZsZXgtMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJvd25lci1uYW1lIgogICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGV4dC1zaGVsbCBza2VsZXRvbi1iZy1jb2xvciI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9InB1Ymxpc2hlZC1kYXRlIgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LXNoZWxsIHNrZWxldG9uLWJnLWNvbG9yIj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ic3Vic2NyaWJlLWJ1dHRvbiIgY2xhc3M9InNrZWxldG9uLWJnLWNvbG9yIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiZ2NjIiwgbnVsbCwgJycpO308L3NjcmlwdD4gIDxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygicGRjIiwgbnVsbCwgJycpO308L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVNVa1h2V24xbTdRIj4KCiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRoZWxkIiBocmVmPSJodHRwczovL20ueW91dHViZS5jb20vd2F0Y2g/dj1TVWtYdlduMW03USI+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9Im9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkiIGhyZWY9Imh0dHBzOi8vbS55b3V0dWJlLmNvbS93YXRjaD92PVNVa1h2V24xbTdRIj4KICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0icmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSI+CgogICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQXByb3ZlaXRlIHbDrWRlb3MgZSBtw7pzaWNhIHF1ZSB2b2PDqiBhbWEsIGVudmllIGNvbnRlw7pkbyBvcmlnaW5hbCBlIGNvbXBhcnRpbGhlLW8gY29tIGFtaWdvcywgcGFyZW50ZXMgZSBvIG11bmRvIG5vIFlvdVR1YmUuIj4KICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJ2w61kZW8sIGNvbXBhcnRpbGhhbWVudG8sIGNlbHVsYXIgY29tIGPDom1lcmEsIHZpZGVvZm9uZSwgZ3JhdHVpdG8sIHVwbG9hZCI+CiAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9jb250aW51ZT1odHRwcyUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRnNpZ25pbiUzRmFjdGlvbl9oYW5kbGVfc2lnbmluJTNEdHJ1ZSUyNmFwcCUzRGRlc2t0b3AlMjZmZWF0dXJlJTNEcGFzc2l2ZSUyNmhsJTNEcHQlMjZuZXh0JTNEJTI1MkZzaWduaW5fcGFzc2l2ZSZhbXA7aGw9cHQtQlImYW1wO3Bhc3NpdmU9dHJ1ZSZhbXA7c2VydmljZT15b3V0dWJlJmFtcDt1aWxlbD0zIiBzdHlsZT0iZGlzcGxheTogbm9uZSIgPjwvaWZyYW1lPgogIDwvaGVhZD4KICA8Ym9keSBkaXI9Imx0ciIgbm8teS1vdmVyZmxvdz4KICA8c2NyaXB0ID4KICAgIGlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiYnMiLCBudWxsLCAnJyk7fSAgICB5dGNmZy5zZXQoJ2luaXRpYWxCb2R5Q2xpZW50V2lkdGgnLCBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKTsKCiAgICB3aW5kb3cueXRjZmcuc2V0KCdTRVJWSUNFX1dPUktFUl9LSUxMU1dJVENIJywgZmFsc2UpOwogIDwvc2NyaXB0PgogIDxzY3JpcHQgPgogICAgd2luZG93WyJ5dEluaXRpYWxEYXRhIl0gPSB7InJlc3BvbnNlQ29udGV4dCI6eyJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhIjp7Inl0Q29uZmlnRGF0YSI6eyJjc24iOiJfV2VZWDhqRE5wVFE1Z1NpOHBhb0JBIiwidmlzaXRvckRhdGEiOiJDZ3MxV1VaemVsOUJibkZRVFNqOXotSDhCUSUzRCUzRCIsInJvb3RWaXN1YWxFbGVtZW50VHlwZSI6MzgzMn19fSwid2ViV2F0Y2hOZXh0UmVzcG9uc2VFeHRlbnNpb25EYXRhIjp7InJlbGF0ZWRWaWRlb0FyZ3MiOiIifX07CiAgICB3aW5kb3dbInl0SW5pdGlhbFBsYXllclJlc3BvbnNlIl0gPSB7InJlc3BvbnNlQ29udGV4dCI6eyJzZXJ2aWNlVHJhY2tpbmdQYXJhbXMiOlt7InNlcnZpY2UiOiJHRkVFREJBQ0siLCJwYXJhbXMiOlt7ImtleSI6ImlzX3ZpZXdlZF9saXZlIiwidmFsdWUiOiJGYWxzZSJ9LHsia2V5IjoibG9nZ2VkX2luIiwidmFsdWUiOiIwIn0seyJrZXkiOiJlIiwidmFsdWUiOiIyMzk1NjA2MywyMzg4NDM4NiwyMzkzNDk3MCwyMzk2MzYxMywyMzk0NzY5OCwyMzk0ODg0MSwyMzk2MjIxNywyMzk1NDc2MSwyNDU5MDI5MCwyMzk0OTEwOSwyMzk0NDc3OSwyMzkyODUwOCwyMzk2MjkyMCwyMzkzMDIyMCw5NDY2NTk0LDIzOTE4NTk3LDIzOTU0Mzg5LDIzOTI3NzY3LDIzOTE3ODc3LDIzODgwMDQzLDIzOTQyNjMzLDIzOTU5MzU2LDIzOTQyMzM4LDIzOTExMDU2LDIzOTQ3NTgxLDIzNzQ0MTc2LDIzODgyNTAzLDIzOTU2NzU0LDIzOTUzODkzLDIzODkwOTU5LDIzOTQwMjQ3LDIzOTQ1NDM5LDIzOTYyOTY0LDIzOTY0MjU3LDIzODA0MjgxLDE3MTQyNTAsMjM4Mzk1OTcsMjM5NTExMzgsMjM5NDY0MjAsMjM5NTAwMjMifV19LHsic2VydmljZSI6IkNTSSIsInBhcmFtcyI6W3sia2V5IjoiYyIsInZhbHVlIjoiV0VCIn0seyJrZXkiOiJjdmVyIiwidmFsdWUiOiIyLjIwMjAxMDIzLjAyLjAwIn0seyJrZXkiOiJ5dF9saSIsInZhbHVlIjoiMCJ9LHsia2V5IjoiR2V0UGxheWVyX3JpZCIsInZhbHVlIjoiMHg4OTZiMzJhNTQ3MjlkNzNiIn1dfSx7InNlcnZpY2UiOiJHVUlERURfSEVMUCIsInBhcmFtcyI6W3sia2V5IjoibG9nZ2VkX2luIiwidmFsdWUiOiIwIn1dfSx7InNlcnZpY2UiOiJFQ0FUQ0hFUiIsInBhcmFtcyI6W3sia2V5IjoiY2xpZW50LnZlcnNpb24iLCJ2YWx1ZSI6IjIuMjAyMDEwMjMifSx7ImtleSI6ImNsaWVudC5uYW1lIiwidmFsdWUiOiJXRUIifV19XSwid2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YSI6eyJ5dENvbmZpZ0RhdGEiOnsiY3NuIjoiX1dlWVg4akROcFRRNWdTaThwYW9CQSIsInZpc2l0b3JEYXRhIjoiQ2dzMVdVWnplbDlCYm5GUVRTajl6LUg4QlElM0QlM0QiLCJyb290VmlzdWFsRWxlbWVudFR5cGUiOjM4MzJ9LCJoYXNEZWNvcmF0ZWQiOnRydWV9fSwicGxheWFiaWxpdHlTdGF0dXMiOnsic3RhdHVzIjoiRVJST1IiLCJyZWFzb24iOiJWw61kZW8gaW5kaXNwb27DrXZlbCIsImVycm9yU2NyZWVuIjp7InBsYXllckVycm9yTWVzc2FnZVJlbmRlcmVyIjp7InJlYXNvbiI6eyJzaW1wbGVUZXh0IjoiVsOtZGVvIGluZGlzcG9uw612ZWwifSwidGh1bWJuYWlsIjp7InRodW1ibmFpbHMiOlt7InVybCI6Ii8vcy55dGltZy5jb20veXRzL2ltZy9tZWg3LXZmbEdldmVqNy5wbmciLCJ3aWR0aCI6MTQwLCJoZWlnaHQiOjEwMH1dfSwiaWNvbiI6eyJpY29uVHlwZSI6IkVSUk9SX09VVExJTkUifX19LCJjb250ZXh0UGFyYW1zIjoiUTBGQlUwRm5aMEU9In0sInRyYWNraW5nUGFyYW1zIjoiQ0FBUXUya2lFd2pMeHF6R3ROWHNBaFdOUFpBS0hTMDBCbFE9In07CiAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInBkciIsIG51bGwsICcnKTt9CiAgPC9zY3JpcHQ+CiAgICAgIDxzY3JpcHQgPihmdW5jdGlvbigpIHt2YXIgY29uZmlncyA9IHsiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfVkVSVElDQUxfTEFORElOR19QQUdFX1BST01PIjp7InJvb3RFbGVtZW50SWQiOiJ5dGQtZGVmYXVsdC1wcm9tby1wYW5lbC1yZW5kZXJlci1pbmxpbmUtcGxheWJhY2stcmVuZGVyZXIiLCJqc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfVkVSVElDQUxfTEFORElOR19QQUdFX1BST01PIiwiZXZlbnRMYWJlbCI6InByb2ZpbGVwYWdlIiwiY29udGVudFJlZ2lvbiI6IkJSIiwiaGwiOiJwdF9CUiIsImhvc3RMYW5ndWFnZSI6InB0IiwicGxheWVyU3R5bGUiOiJkZXNrdG9wLXBvbHltZXIiLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJjb250cm9sc1R5cGUiOjAsImRpc2FibGVSZWxhdGVkVmlkZW9zIjp0cnVlLCJhbm5vdGF0aW9uc0xvYWRQb2xpY3kiOjMsImRldmljZSI6eyJpbnRlcmZhY2VOYW1lIjoiV0VCIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAifSwiaGlkZUluZm8iOnRydWUsInN0YXJ0TXV0ZWQiOnRydWUsImVuYWJsZU11dGVkQXV0b3BsYXkiOnRydWUsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImNzaVBhZ2VUeXBlIjoiY2hhbm5lbHMifSwiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfV0FUQ0giOnsidHJhbnNwYXJlbnRCYWNrZ3JvdW5kIjp0cnVlLCJ1c2VGYXN0U2l6aW5nT25XYXRjaERlZmF1bHQiOmZhbHNlLCJzaG93TWluaXBsYXllckJ1dHRvbiI6dHJ1ZSwiZXh0ZXJuYWxGdWxsc2NyZWVuIjp0cnVlLCJzaG93TWluaXBsYXllclVpV2hlbk1pbmltaXplZCI6dHJ1ZSwicm9vdEVsZW1lbnRJZCI6Im1vdmllX3BsYXllciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9XQVRDSCIsImV2ZW50TGFiZWwiOiJkZXRhaWxwYWdlIiwiY29udGVudFJlZ2lvbiI6IkJSIiwiaGwiOiJwdF9CUiIsImhvc3RMYW5ndWFnZSI6InB0IiwicGxheWVyU3R5bGUiOiJkZXNrdG9wLXBvbHltZXIiLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJkZXZpY2UiOnsiaW50ZXJmYWNlTmFtZSI6IldFQiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImNzaVBhZ2VUeXBlIjoid2F0Y2gifSwiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfQ0hBTk5FTF9UUkFJTEVSIjp7InJvb3RFbGVtZW50SWQiOiJjNC1wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfQ0hBTk5FTF9UUkFJTEVSIiwiZXZlbnRMYWJlbCI6InByb2ZpbGVwYWdlIiwiY29udGVudFJlZ2lvbiI6IkJSIiwiaGwiOiJwdF9CUiIsImhvc3RMYW5ndWFnZSI6InB0IiwicGxheWVyU3R5bGUiOiJkZXNrdG9wLXBvbHltZXIiLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJkZXZpY2UiOnsiaW50ZXJmYWNlTmFtZSI6IldFQiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImNzaVBhZ2VUeXBlIjoiY2hhbm5lbHMifSwiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfU1BPTlNPUlNISVBTX09GRkVSIjp7InJvb3RFbGVtZW50SWQiOiJ5dGQtc3BvbnNvcnNoaXBzLW9mZmVyLXdpdGgtdmlkZW8tcmVuZGVyZXIiLCJqc1VybCI6Ii9zL3BsYXllci85YjY1ZTk4MC9wbGF5ZXJfaWFzLnZmbHNldC9wdF9CUi9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfU1BPTlNPUlNISVBTX09GRkVSIiwiZXZlbnRMYWJlbCI6InNwb25zb3JzaGlwc29mZmVyIiwiY29udGVudFJlZ2lvbiI6IkJSIiwiaGwiOiJwdF9CUiIsImhvc3RMYW5ndWFnZSI6InB0IiwicGxheWVyU3R5bGUiOiJkZXNrdG9wLXBvbHltZXIiLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJkaXNhYmxlUmVsYXRlZFZpZGVvcyI6dHJ1ZSwiYW5ub3RhdGlvbnNMb2FkUG9saWN5IjozLCJkZXZpY2UiOnsiaW50ZXJmYWNlTmFtZSI6IldFQiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sImRpc2FibGVGdWxsc2NyZWVuIjp0cnVlLCJjYW5hcnlTdGF0ZSI6Im5vbmUifSwiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9LRVZMQVJfUExBWUxJU1RfT1ZFUlZJRVciOnsicm9vdEVsZW1lbnRJZCI6ImM0LXBsYXllciIsImpzVXJsIjoiL3MvcGxheWVyLzliNjVlOTgwL3BsYXllcl9pYXMudmZsc2V0L3B0X0JSL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvOWI2NWU5ODAvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0tFVkxBUl9QTEFZTElTVF9PVkVSVklFVyIsImV2ZW50TGFiZWwiOiJwbGF5bGlzdG92ZXJ2aWV3IiwiY29udGVudFJlZ2lvbiI6IkJSIiwiaGwiOiJwdF9CUiIsImhvc3RMYW5ndWFnZSI6InB0IiwicGxheWVyU3R5bGUiOiJkZXNrdG9wLXBvbHltZXIiLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyMDEwMjMuMDIuMDAiLCJkZXZpY2UiOnsiaW50ZXJmYWNlTmFtZSI6IldFQiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjAxMDIzLjAyLjAwIn0sImRpc2FibGVTaGFyaW5nIjp0cnVlLCJoaWRlSW5mbyI6dHJ1ZSwiZGlzYWJsZVdhdGNoTGF0ZXIiOnRydWUsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImNzaVBhZ2VUeXBlIjoicGxheWxpc3Rfb3ZlcnZpZXcifX07Zm9yICh2YXIgY29udGV4dElkIGluIGNvbmZpZ3MpIHtjb25maWdzW2NvbnRleHRJZF1bJ3NlcmlhbGl6ZWRFeHBlcmltZW50SWRzJ10gPSAiMjM3NDQxNzYsMjM4MDQyODEsMjM4Mzk1OTcsMjM4NTY5NTAsMjM4NjgzMzYsMjM4Nzg0MDksMjM4ODAwNDMsMjM4ODI1MDMsMjM4ODQzODYsMjM4OTA5NTksMjM4OTU2NzEsMjM5MTEwNTYsMjM5MTU5OTAsMjM5MTc4NzcsMjM5MTg1OTcsMjM5Mjc3NjcsMjM5Mjc3NjcsMjM5Mjg1MDgsMjM5MzAyMjAsMjM5MzQ5NzAsMjM5NDAyNDcsMjM5NDA5NzksMjM5NDIzMzgsMjM5NDI2MzMsMjM5NDQ3NzksMjM5NDU0MzksMjM5NDU0MzksMjM5NDU0NzksMjM5NDY0MjAsMjM5NDc1ODEsMjM5NDc2OTgsMjM5NDg4NDEsMjM5NDkxMDksMjM5NTAwMjMsMjM5NTExMzgsMjM5NTM4OTMsMjM5NTQzODksMjM5NTQ3NjEsMjM5NTYwNjMsMjM5NTY1MjcsMjM5NTY3NTQsMjM5NTkzNTYsMjM5NjEyOTAsMjM5NjIyMTcsMjM5NjI5MjAsMjM5NjI5NjQsMjM5NjM2MTMsMjM5NjQyNTcsMjM5NjQ0ODIsMjQ1OTAyOTAsOTQwNjAxMiw5NDQ5MjQzLDk0NjY1OTQiO2NvbmZpZ3NbY29udGV4dElkXVsnc2VyaWFsaXplZEV4cGVyaW1lbnRGbGFncyddID0gImh0bWw1X3JlbG9hZF9lbGVtZW50X2xvbmdfcmVidWZmZXJfZGVsYXlfbXM9MjAwMDBcdTAwMjZzZWxmX3BvZGRpbmdfaGVhZGVyX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfaW50ZXJzdGl0aWFsX21lc3NhZ2VcdTAwMjZodG1sNV9kaXNhYmxlX3ByZXNlcnZlX3JlZmVyZW5jZT10cnVlXHUwMDI2cGxheWVyX2FsbG93X2F1dG9uYXZfYWZ0ZXJfcGxheWxpc3Q9dHJ1ZVx1MDAyNmh0bWw1X2lvczRfc2Vla19hYm92ZV96ZXJvPXRydWVcdTAwMjZyZWxlYXNlX3BsYXllcl9vbl9hYmFuZG9uX2Zvcl9idWxsZWl0X2xyX2Fkc19mcm9udGVuZD10cnVlXHUwMDI2Ym90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcz0zMDAwXHUwMDI2aHRtbDVfbWF4X3JlYWRiZWhpbmRfc2Vjcz0wXHUwMDI2c2V0X2ludGVyc3RpdGlhbF9hZHZlcnRpc2Vyc19xdWVzdGlvbl90ZXh0PXRydWVcdTAwMjZodG1sNV9kaXNhYmxlX21vdmVfcHNzaF90b19tb292PXRydWVcdTAwMjZzdXBwcmVzc19nZW5fMjA0PXRydWVcdTAwMjZodG1sNV9wbGF0Zm9ybV9taW5pbXVtX3JlYWRhaGVhZF9zZWNvbmRzPTAuMFx1MDAyNmh0bWw1X2Rpc2FibGVfcmVzZXRfb25fYXBwZW5kX2Vycm9yPXRydWVcdTAwMjZlbmFibGVfdmVfdHJhY2tlcl9rZXk9dHJ1ZVx1MDAyNmVuYWJsZV9rZXZsYXJfYWN0aW9uX2NvbXBhbmlvbl9jbGVhbnVwPXRydWVcdTAwMjZuZXR3b3JrbGVzc19yZXRyeV9hdHRlbXB0cz0xXHUwMDI2Y3VzdG9tX2NzaV90aW1lbGluZV91c2VfZ2VsPXRydWVcdTAwMjZlbmFibGVfZHJtX3NzZGFpPXRydWVcdTAwMjZodG1sNV9zdGF0aWNfYWJyX3Jlc29sdXRpb25fc2hlbGY9MFx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9sb2FkX3NwZWVkPTEuNVx1MDAyNndlYl9mb3JlZ3JvdW5kX2hlYXJ0YmVhdF9pbnRlcnZhbF9tcz0yODAwMFx1MDAyNmh0bWw1X2Rlc2t0b3BfdnIxODBfYWxsb3dfcGFubmluZz10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjcz0wLjVcdTAwMjZhbGxvd19wb2x0ZXJndXN0X2F1dG9wbGF5PXRydWVcdTAwMjZodG1sNV9tZWRpYV9mdWxsc2NyZWVuPXRydWVcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3k9dHJ1ZVx1MDAyNmh0bWw1X3NlZWtfamlnZ2xlX2NtdF9kZWxheV9tcz04MDAwXHUwMDI2aHRtbDVfc3VzcGVuZF9sb2FkZXI9dHJ1ZVx1MDAyNmh0bWw1X3F1ZXJ5X3N3X3NlY3VyZV9jcnlwdG9fZm9yX2FuZHJvaWQ9dHJ1ZVx1MDAyNmZpeF9hZHNfdHJhY2tpbmdfZm9yX3N3Zl9jb25maWdfZGVwcmVjYXRpb25fbXdlYj10cnVlXHUwMDI2b3ZlcndyaXRlX3BvbHlmaWxsX29uX2xvZ2dpbmdfbGliX2xvYWRlZD10cnVlXHUwMDI2a2V2bGFyX2Zyb250ZW5kX3ZpZGVvX2xpc3RfYWN0aW9ucz10cnVlXHUwMDI2aHRtbDVfbWluX3VwZ3JhZGVfaGVhbHRoPTBcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjcz02MFx1MDAyNmh0bWw1X2lvc19mb3JjZV9zZWVrX3RvX3plcm9fb25fc3RvcD10cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hpZ2hsaWdodF9ub25fZGVmYXVsdF9idXR0b249dHJ1ZVx1MDAyNmh0bWw1X2hsc19pbml0aWFsX2JpdHJhdGU9MFx1MDAyNmh0bWw1X2JhbmR3aWR0aF93aW5kb3dfc2l6ZT0wXHUwMDI2bmV0d29ya2xlc3NfeXRpZGJfdmVyc2lvbj0xXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9ieXRlcmF0ZV9tdWx0aXBsaWVyPTEuNlx1MDAyNmh0bWw1X25vbl9uZXR3b3JrX3JlYnVmZmVyX2R1cmF0aW9uX21zPTBcdTAwMjZodG1sNV9oZWFydGJlYXRfc2V0X2VuZGVkPXRydWVcdTAwMjZodG1sNV9hdjFfdGhyZXNoPTEwODBcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlX3VmcGg9dHJ1ZVx1MDAyNmtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlPXRydWVcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aT10cnVlXHUwMDI2d2ViX3BsYXllcl9yZXNwb25zZV9mYWlycGxheV9jb25maWdfa2lsbHN3aXRjaD10cnVlXHUwMDI2ZW5hYmxlX3N2Z19tb2RlX29uX2VtYmVkX21vYmlsZT10cnVlXHUwMDI2aHRtbDVfdmlkZW9fdGJkX21pbl9rYj0wXHUwMDI2aHRtbDVfcG9zdF9pbnRlcnJ1cHRfcmVhZGFoZWFkPTIwXHUwMDI2ZW5zdXJlX29ubHlfb25lX3Jlc29sdmVkX21pZHJvbGxfcmVzcG9uc2Vfb25fd2ViPXRydWVcdTAwMjZ1bnBsdWdnZWRfdHZodG1sNV92aWRlb19wcmVsb2FkX29uX2ZvY3VzX2RlbGF5X21zPTBcdTAwMjZ3ZWJfeXRfY29uZmlnX2NvbnRleHQ9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvdz0wLjBcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9sb2FkX3NwZWVkX2NoZWNrX2ludGVydmFsPTAuNVx1MDAyNnBsYXllcl9lbmFibGVfcGxheWJhY2tfcGxheWxpc3RfY2hhbmdlPXRydWVcdTAwMjZtd2ViX2VuYWJsZV9za2lwcGFibGVzX29uX2ppb19waG9uZT10cnVlXHUwMDI2d2ViX3NjcmVlbl9hc3NvY2lhdGVkX2FsbF9sYXllcnM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW9zX213ZWJfcmVzaXppbmc9dHJ1ZVx1MDAyNmh0bWw1X3VzZV9jdXJyZW50X21lZGlhX3RpbWVfZm9yX2dscmVtX2dsbGF0PXRydWVcdTAwMjZ3ZWJfZGVwcmVjYXRlX3NlcnZpY2VfYWpheF9tYXBfZGVwZW5kZW5jeT10cnVlXHUwMDI2bXVzaWNfZW5hYmxlX3NoYXJlZF9hdWRpb190aWVyX2xvZ2ljPXRydWVcdTAwMjZtd2ViX211dGVkX2F1dG9wbGF5X2FuaW1hdGlvbj1zaHJpbmtcdTAwMjZodG1sNV9qdW1ib191bGxfbm9uc3RyZWFtaW5nX21mZmFfbXM9NDAwMFx1MDAyNmtldmxhcl9hdXRvbmF2X21pbmlwbGF5ZXJfZml4PXRydWVcdTAwMjZtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfd2F0Y2hfbmV4dF9yZXNwb25zZT10cnVlXHUwMDI2bG9nX2pzX2V4Y2VwdGlvbnNfZnJhY3Rpb249MS4wXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaD0wLjJcdTAwMjZwYWlyX3NlcnZsZXRfZGVwcmVjYXRpb25fd2FybmluZ19lbmFibGVkPXRydWVcdTAwMjZlbmFibGVfYWRfcG9kX3NwZWNpZmljX3VpPXRydWVcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXM9MjAwMFx1MDAyNndlYl9wbGF5ZXJfaW5uZXJ0dWJlX3BsYXlsaXN0X3VwZGF0ZT10cnVlXHUwMDI2aHRtbDVfYXYxX3RocmVzaF9oY2M9MTA4MFx1MDAyNnBsYXllcl9hZHNfc2V0X2FkZm9ybWF0X29uX2NsaWVudD10cnVlXHUwMDI2aHRtbDVfaW9zN19mb3JjZV9wbGF5X29uX3N0YWxsPXRydWVcdTAwMjZuZXR3b3JrbGVzc190aHJvdHRsZV90aW1lb3V0PTEwMFx1MDAyNmFkX3BvZF9kaXNhYmxlX2NvbXBhbmlvbl9wZXJzaXN0X2Fkc19xdWFsaXR5PXRydWVcdTAwMjZtYXhfcmVzb2x1dGlvbl9mb3Jfd2hpdGVfbm9pc2U9MzYwXHUwMDI2ZW5hYmxlX2RldmljZV9mb3J3YXJkaW5nX2Zyb21feGhyX2NsaWVudD10cnVlXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl90aHJlc2hvbGRfbXM9MzAwMDBcdTAwMjZodG1sNV9kaXNhYmxlX3N1YnNjcmliZV9uZXdfdmlzPXRydWVcdTAwMjZkZXNrdG9wX3BsYXllcl9idXR0b25fdG9vbHRpcF93aXRoX3Nob3J0Y3V0PXRydWVcdTAwMjZob2ZmbGVfY2FjaGVfc2l6ZV9zZWNzPTBcdTAwMjZodG1sNV9wbGF5ZXJfbWluX2J1aWxkX2NsPS0xXHUwMDI2aGZyX2Ryb3BwZWRfZnJhbWVyYXRlX2ZhbGxiYWNrX3RocmVzaG9sZD0wXHUwMDI2dXNlX3BsYXllcl9wYXJhbXNfZm9yX3Bhc3NpbmdfZGVza3RvcF9jb252ZXJzaW9uX3VybHM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaWNvbnM9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXM9MjAwXHUwMDI2aHRtbDVfbGl2ZV9xdWFsaXR5X2NhcD0wXHUwMDI2cHJlc2tpcF9idXR0b25fc3R5bGVfYWRzX2JhY2tlbmQ9Y291bnRkb3duX25leHRfdG9fdGh1bWJuYWlsXHUwMDI2c3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmc9dHJ1ZVx1MDAyNmh0bWw1X2FzcGVjdF9mcm9tX2FkYXB0aXZlX2Zvcm1hdD10cnVlXHUwMDI2aHRtbDVfaWdub3JlX3N0YXJ0X3NlY29uZHNfZm9yX2Fkc19raWxsc3dpdGNoPXRydWVcdTAwMjZoaWRlX3ByZXNraXA9dHJ1ZVx1MDAyNmh0bWw1X2dsX2Zwc190aHJlc2hvbGQ9MFx1MDAyNmh0bWw1X25vdF92cDlfc3VwcG9ydGVkX3F1YWxpdHlfY2FwPTBcdTAwMjZodG1sNV9obHNfbWluX3ZpZGVvX2hlaWdodD0wXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGY9dHJ1ZVx1MDAyNmhvZmZsZV9tYXhfdmlkZW9fZHVyYXRpb25fc2Vjcz0wXHUwMDI2d2ViX2xvZ19jb25uZWN0aW9uPXRydWVcdTAwMjZrZXZsYXJfcXVldWVfdXNlX2RlZGljYXRlZF9saXN0X3R5cGU9dHJ1ZVx1MDAyNndlYl9sb2dnaW5nX21heF9iYXRjaD0xNTBcdTAwMjZlbmFibGVfY2xpZW50X2RlZmVycmVkX2Z1bGxfc2NyZWVuX2ZpbHRlcmluZ19mb3JfbXdlYl9waG9uZXM9dHJ1ZVx1MDAyNmh0bWw1X3F1YWxpdHlfY2FwX21pbl9hZ2Vfc2Vjcz0wXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjcz0wLjI1XHUwMDI2aHRtbDVfbWF4X2hlYWRtX2Zvcl9zdHJlYW1pbmdfeGhyPTBcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfbWVkaWFfc291cmNlX2R1cmF0aW9uPTI1MjAwXHUwMDI2bmV0d29ya19wb2xsaW5nX2ludGVydmFsPTMwMDAwXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX3BhZGRpbmdfc2Vjcz0zLjBcdTAwMjZodG1sNV9kaXNhYmxlX2V4dHJhX3VwZGF0ZV9yZXNvdXJjZT10cnVlXHUwMDI2dHZodG1sNV91bnBsdWdnZWRfcHJlbG9hZF9jYWNoZV9zaXplPTVcdTAwMjZodG1sNV9sb2dfdGltZXN0YW1wX29mZnNldD10cnVlXHUwMDI2ZGVidWdfc2hlcmxvZ191c2VybmFtZT1cdTAwMjZkZXNrdG9wX2FjdGlvbl9jb21wYW5pb25fd3RhX3N1cHBvcnQ9dHJ1ZVx1MDAyNmh0bWw1X2FkX3RpbWVvdXRfbXM9MFx1MDAyNmVycm9yX21lc3NhZ2VfZm9yX2dzdWl0ZV9uZXR3b3JrX3Jlc3RyaWN0aW9ucz10cnVlXHUwMDI2bGl2ZV9mcmVzY2Ffc2NoZWR1bGVkX3BlcnNpc3RlbnQ9dHJ1ZVx1MDAyNmh0bWw1X2RlY29kZV90b190ZXh0dXJlX2NhcD10cnVlXHUwMDI2bG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uPTAuMVx1MDAyNmh0bWw1X3FvZV9pbnRlcmNlcHQ9XHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHM9dHJ1ZVx1MDAyNmRpc2FibGVfc2ltcGxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncz10cnVlXHUwMDI2d2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3Q9KClcdTAwMjZwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHM9dHJ1ZVx1MDAyNmRlbGF5X2Fkc19ndmlfY2FsbF9vbl9idWxsZWl0X2xpdmluZ19yb29tX21zPTBcdTAwMjZlbmFibGVfeXBjX2NsaWNrd3JhcF9vbl9saXZpbmdfcm9vbT10cnVlXHUwMDI2aHRtbDVfc3RpY2t5X3JlZHVjZXNfZGlzY291bnRfYnk9MC4wXHUwMDI2aHRtbDVfaW5fYnVmZmVyX3B0bF90aW1lb3V0X21zPTBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXA9MFx1MDAyNmh0bWw1X2lnbm9yZV9iYWRfYml0cmF0ZXM9dHJ1ZVx1MDAyNmh0bWw1X3JlbGVhc2Vfb25fZXJyb3I9dHJ1ZVx1MDAyNmh0bWw1X3VuaWZ5X3NxbGVzc19mbG93PXRydWVcdTAwMjZ3ZWJfcGxheWVyX2xpdmVfbW9uaXRvcl9lbnZfa2lsbHN3aXRjaD10cnVlXHUwMDI2aHRtbDVfdW5yZXBvcnRlZF9zZWVrX3Jlc2Vla19kZWxheV9tcz0wXHUwMDI2aHRtbDVfbWF4aW11bV9yZWFkYWhlYWRfc2Vjb25kcz0wLjBcdTAwMjZ3ZWJfcGxheWVyX2xpdmVfbW9uaXRvcl9lbnY9dHJ1ZVx1MDAyNmh0bWw1X3NvdXJjZV9idWZmZXJfYXR0YWNoX2RlbGF5X3RpbWU9MTUwMDBcdTAwMjZkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b249dHJ1ZVx1MDAyNm13ZWJfY291Z2FyX2JpZ19jb250cm9scz10cnVlXHUwMDI2d2ViX3duX21hY3JvX21hcmtlcnM9dHJ1ZVx1MDAyNmh0bWw1X2F1dG9uYXZfcXVhbGl0eV9jYXA9MFx1MDAyNnBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGU9dHJ1ZVx1MDAyNmh0bWw1X2RlYWR6b25lX211bHRpcGxpZXI9MS4wXHUwMDI2dXNlX3RvdWNoX2V2ZW50c19mb3JfYnVsbGVpdF9td2ViPXRydWVcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9zZWNzPTBcdTAwMjZodG1sNV9iYWNrZ3JvdW5kX2NhcF9pZGxlX3NlY3M9NjBcdTAwMjZodG1sNV9oZWFsdGhfdG9fZ2VsPXRydWVcdTAwMjZodG1sNV9zeW5jX3NlZWtpbmdfc3RhdGU9dHJ1ZVx1MDAyNmh0bWw1X2F2MV90aHJlc2hfbGNjPTQ4MFx1MDAyNmh0bWw1X3NlZWtfdGltZW91dF9kZWxheV9tcz0yMDAwMFx1MDAyNmh0bWw1X2hhY2tfZ2FwbGVzc19pbml0PXRydWVcdTAwMjZza2lwX2FkX2J1dHRvbl93aXRoX3RodW1ibmFpbD10cnVlXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX21heF9zZWdtZW50X2hpc3Rvcnk9MFx1MDAyNmh0bWw1X2FsbG93X3ZpZGVvX2tleWZyYW1lX3dpdGhvdXRfYXVkaW89dHJ1ZVx1MDAyNnNlbGZfcG9kZGluZ19wb2RfY2hvaWNlX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfcG9kX2Nob2ljZVx1MDAyNmh0bWw1X3BhdXNlX29uX25vbmZvcmVncm91bmRfcGxhdGZvcm1fZXJyb3JzPXRydWVcdTAwMjZodG1sNV9lbmFibGVfYWMzPXRydWVcdTAwMjZ1c2Vfc3VydmV5X3NraXBfaW5fMHM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbGl2ZV9tb25pdG9yX2Vudl9raWxsc3dpdGNoMj10cnVlXHUwMDI2d2ViX25ldHdvcmtfY29tYmluZWRfY2F0Y2g9dHJ1ZVx1MDAyNmVuYWJsZV9kZXZpY2VfZm9yd2FyZGluZ19mcm9tX3BvbHltZXJfbmV0d29ya19tYW5hZ2VyPXRydWVcdTAwMjZrZXZsYXJfcXVldWVfdXNlX3VwZGF0ZV9hcGk9dHJ1ZVx1MDAyNmRhc2hfbWFuaWZlc3RfdmVyc2lvbj01XHUwMDI2aHRtbDVfZ2FwbGVzc19lcnJvcl9jaGVja19raWxsc3dpdGNoPXRydWVcdTAwMjZodG1sNV9qdW1ib191bGxfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0PTEuM1x1MDAyNmh0bWw1X3Byb2JlX3NlY29uZGFyeV9kdXJpbmdfdGltZW91dF9taXNzX2NvdW50PTJcdTAwMjZmYXN0X2F1dG9uYXZfaW5fYmFja2dyb3VuZD10cnVlXHUwMDI2cmVuZGVyX2VuaGFuY2VkX292ZXJsYXlzX2FzX2N0YXNfZm9yX2Rlc2t0b3Bfc3R5bGU9dW5zZXRcdTAwMjZhdXRvcGxheV90aW1lPTgwMDBcdTAwMjZodG1sNV9xb2VfdXNlcl9pbnRlbnRfbWF0Y2hfaGVhbHRoPXRydWVcdTAwMjZodG1sNV9saXZlX2Ficl9oZWFkX21pc3NfZnJhY3Rpb249MC4wXHUwMDI2aHRtbDVfbG9nX3JlYnVmZmVyX2V2ZW50cz01XHUwMDI2d2ViX3BsYXllcl9pcHBfY2FuYXJ5X3R5cGVfZm9yX2xvZ2dpbmc9XHUwMDI2aHRtbDVfbWF4X2RyaWZ0X3Blcl90cmFja19zZWNzPTAuMFx1MDAyNnBsYXlyZWFkeV9maXJzdF9wbGF5X2V4cGlyYXRpb249LTFcdTAwMjZodG1sNV9taW5pbXVtX3JlYWRhaGVhZF9zZWNvbmRzPTAuMFx1MDAyNmh0bWw1X21heF9yZWFkYWhlYWRfYmFuZHdpZHRoX2NhcD0wXHUwMDI2d2ViX3BsYXllcl9yZXNwb25zZV9wbGF5YmFja190cmFja2luZ19wYXJzaW5nPXRydWVcdTAwMjZodG1sNV9wbGF5ZXJfZHluYW1pY19ib3R0b21fZ3JhZGllbnQ9dHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X2VsZW1fZGVsYXlfbXM9MTIwMDBcdTAwMjZodG1sNV9sb2dfbGl2ZV9kaXNjb250aW51aXR5PXRydWVcdTAwMjZ3ZWJfZ2VsX3RpbWVvdXRfY2FwPXRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlPXRydWVcdTAwMjZodG1sNV9lbmFibGVfcGVyX2Zvcm1hdF9sb3VkbmVzcz10cnVlXHUwMDI2bG9nX2pzX2Vycm9yX2NsdXN0ZXJzPTEuMFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfamlnZ2xlX2NtdF9kZWxheV9tcz04MDAwXHUwMDI2d2ViX3Bvc3Rfc2VhcmNoPXRydWVcdTAwMjZidWxsZWl0X2dldF9taWRyb2xsX2luZm9fdGltZW91dF9tcz04MDAwXHUwMDI2aHRtbDVfcHJvYmVfcHJpbWFyeV9kZWxheV9iYXNlX21zPTBcdTAwMjZwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZD10cnVlXHUwMDI2aHRtbDVfZXJyb3JfY29vbGRvd25faW5fbXM9MzAwMDBcdTAwMjZ3ZWJfcGxheWVyX2FwaV9sb2dnaW5nX2ZyYWN0aW9uPTAuMDFcdTAwMjZodG1sNV9saXZlX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3c9MC4wXHUwMDI2dmFyaWFibGVfYnVmZmVyX3RpbWVvdXRfbXM9MFx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3A9dHJ1ZVx1MDAyNndlYl9vcF9jb250aW51YXRpb25fdHlwZV9iYW5saXN0PSgpXHUwMDI2d2ViX3BsYXllcl9zc19tZWRpYV90aW1lX29mZnNldD10cnVlXHUwMDI2Y3NpX29uX2dlbD10cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9wYWdlX2lkX2hlYWRlcl9mb3JfZmlyc3RfcGFydHlfcGluZ3M9dHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRlZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzPXRydWVcdTAwMjZodG1sNV9nYXBsZXNzX3ByZWxvYWRpbmc9dHJ1ZVx1MDAyNnBsYXllcl9kZXN0cm95X29sZF92ZXJzaW9uPXRydWVcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfdnA5PXRydWVcdTAwMjZkaXNhYmxlX2xlZ2FjeV9kZXNrdG9wX3JlbW90ZV9xdWV1ZT10cnVlXHUwMDI2aHRtbDVfbWF4X2xpdmVfZHZyX3dpbmRvd19wbHVzX21hcmdpbl9zZWNzPTQ2ODAwLjBcdTAwMjZ1c2VfdmlkZW9fYWRfYnJlYWtfb2Zmc2V0X21zX2ludDY0PXRydWVcdTAwMjZodG1sNV9zZXRfZW5kZWRfaW5fcGZ4X2xpdmU9dHJ1ZVx1MDAyNmh0bWw1X3Jlc3RvcmVfcGVyZl9jYXA9ZmFsc2VcdTAwMjZodG1sNV9kZWNvZGVyX2ZyZWV6ZV90aW1lb3V0X2RlbGF5X21zPTBcdTAwMjZodG1sNV9wcm9iZV9saXZlX3VzaW5nX3JhbmdlPXRydWVcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlPXRydWVcdTAwMjZodG1sNV9jcnlwdG9fcGVyaW9kX3NlY3NfZnJvbV9lbXNnPXRydWVcdTAwMjZ3ZWJfcGxheWVyX25vX2VuZHNjcmVlbl9jcm9wPXRydWVcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3I9MzYwXHUwMDI2c2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlX3N0cmluZ190ZW1wbGF0ZT1zZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2VcdTAwMjZodG1sNV9saXZlX25vcm1hbF9sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3c9MC4wXHUwMDI2d2ViX3BsYXllcl90b3VjaF9tb2RlX2ltcHJvdmVtZW50cz10cnVlXHUwMDI2aWdub3JlX2VtcHR5X3hocj10cnVlXHUwMDI2aHRtbDVfbGljZW5zZV9jb25zdHJhaW50X2RlbGF5PTUwMDBcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50X2FmdGVyX2F1dG9wbGF5ZWRfdmlkZW89LTFcdTAwMjZodG1sNV9oZGNwX3Byb2Jpbmdfc3RyZWFtX3VybD1cdTAwMjZodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwPTBcdTAwMjZodG1sNV9yYW5kb21fcGxheWJhY2tfY2FwPTBcdTAwMjZidWxsZWl0X3VzZV90b3VjaF9ldmVudHNfZm9yX3NraXA9dHJ1ZVx1MDAyNmd2aV9jaGFubmVsX2NsaWVudF9zY3JlZW49dHJ1ZVx1MDAyNmVuYWJsZV9saXZlX3ByZW1pZXJlX3dlYl9wbGF5ZXJfaW5kaWNhdG9yPXRydWVcdTAwMjZkaXNhYmxlX3RodW1ibmFpbF9wcmVsb2FkaW5nPXRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2FhY19hYzM9dHJ1ZVx1MDAyNnVzZV9pdmFyX3RvX2V4dHJhY3RfYWRfdmlkZW9faWQ9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW5saW5lX2JvdGd1YXJkPXRydWVcdTAwMjZodG1sNV9ub19wbGFjZWhvbGRlcl9yb2xsYmFja3M9dHJ1ZVx1MDAyNmh0bWw1X2xvZ19wbGF5YmFja19yYXRlX2NoYW5nZV9raWxsc3dpdGNoPXRydWVcdTAwMjZodG1sNV91bnJld3JpdGVfdGltZXN0YW1wcz10cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hpZ2hsaWdodGVkX2J1dHRvbl9ibHVlPXRydWVcdTAwMjZodG1sNV9idWZmZXJfaGVhbHRoX3RvX2RlZmVyX3NsaWNlX3Byb2Nlc3Npbmc9MC4wXHUwMDI2aHRtbDVfdGltZV9iYXNlZF9jb25zb2xpZGF0aW9uX21zPTEwXHUwMDI2YWxpZ25fYWRfdG9fdmlkZW9fcGxheWVyX2xpZmVjeWNsZV9mb3JfYnVsbGVpdD10cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXJfcGxheV9wYXVzZV9vbl9zY3JpbT10cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91cz10cnVlXHUwMDI2aHRtbDVfcmV3cml0ZV9tYW5pZmVzdGxlc3NfZm9yX2NvbnRpbnVpdHk9dHJ1ZVx1MDAyNnVucGx1Z2dlZF90dmh0bWw1X2JvdGd1YXJkX2F0dGVzdGF0aW9uPXRydWVcdTAwMjZrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHM9dHJ1ZVx1MDAyNmh0bWw1X2p1bWJvX21vYmlsZV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQ9My4wXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwYz10cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX3BhdXNlPWZhbHNlXHUwMDI2c2hvdWxkX2NsZWFyX3ZpZGVvX2RhdGFfb25fcGxheWVyX2N1ZWRfdW5zdGFydGVkPXRydWVcdTAwMjZodG1sNV9iYWNrZ3JvdW5kX3F1YWxpdHlfY2FwPTM2MFx1MDAyNmVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3M9dHJ1ZVx1MDAyNndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZT1cdTAwMjZlbmFibGVfY29va2llX3JlaXNzdWVfaWZyYW1lPXRydWVcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3M9MFx1MDAyNndlYl9nZWxfZGVib3VuY2VfbXM9MTAwMDBcdTAwMjZodG1sNV9zdG9yZV94aHJfaGVhZGVyc19yZWFkYWJsZT10cnVlXHUwMDI2bXdlYl9lbmFibGVfY3VzdG9tX2NvbnRyb2xfc2hhcmVkPXRydWVcdTAwMjZlbmFibGVfZXZpY3Rpb25fcHJvdGVjdGlvbl9mb3JfYnVsbGVpdD10cnVlXHUwMDI2c2V0X2ludGVyc3RpdGlhbF9zdGFydF9idXR0b249dHJ1ZVx1MDAyNmh0bWw1X3JlYWRhaGVhZF9yYXRlbGltaXQ9MzAwMFx1MDAyNmh0bWw1X3BsYXllcl9hdXRvbmF2X2xvZ2dpbmc9dHJ1ZVx1MDAyNmh0bWw1X2V4cGFuZGVkX21heF92c3NfcGluZ3M9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2Vla190b2xlcmFuY2Vfc2Vjcz0zLjBcdTAwMjZzdXBwcmVzc19zcGFya2xlc19mb3Jfd2hpdGVsaXN0ZWRfaW5zdHJlYW1fb25fZGVza3RvcD10cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXI9dHJ1ZVx1MDAyNmh0bWw1X2F2MV90aHJlc2hfYXJtPTI0MFx1MDAyNmh0bWw1X2xpdmVfYWJyX3JlcHJlZGljdF9mcmFjdGlvbj0wLjBcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZD0zXHUwMDI2ZW1iZWRzX2VuYWJsZV9lbWJlZF9tb2R1bGU9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcmVzcG9uc2Vfb3ZlcmxheV9wYXJzaW5nPWZhbHNlXHUwMDI2a2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nPXRydWVcdTAwMjZodG1sNV9zb3VyY2VfYnVmZmVyX2F0dGFjaF9yZXRyeV9saW1pdD0wXHUwMDI2aHRtbDVfdnA5X21pbWVfZnVsbF9yYW5nZV9mbGFnPXRydWVcdTAwMjZrZXZsYXJfYWxsb3dfbXVsdGlzdGVwX3ZpZGVvX2luaXQ9dHJ1ZVx1MDAyNmh0bWw1X2NoZWNrX3NlZ251bV9kaXNjb250aW51aXR5PXRydWVcdTAwMjZ3ZWJfcGxheWVyX3dhdGNoX25leHRfcmVzcG9uc2VfcGFyc2luZz10cnVlXHUwMDI2aHRtbDVfc2Vla19vdmVyX2Rpc2NvbnRpbnVpdGllcz10cnVlXHUwMDI2dXNlX3R5cGVzY3JpcHRfdHJhbnNwb3J0PXRydWVcdTAwMjZ3ZWJfcGxheWVyX3Zzc19wYWdlaWRfaGVhZGVyPXRydWVcdTAwMjZ3ZWJfbWFjcm9fbWFya2Vyc19zbmFwcGluZ190aHJlc2hvbGQ9NFx1MDAyNmh0bWw1X3NhZmFyaV9kZXNrdG9wX2VtZV9taW5fdmVyc2lvbj0wXHUwMDI2aHRtbDVfZ2FwbGVzc19tYXhfcGxheWVkX3Jhbmdlcz0xMlx1MDAyNmxpdmVfZnJlc2NhX3YyPXRydWVcdTAwMjZodG1sNV9hdjFfdHZfa2lsbHN3aXRjaD10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGltZW91dF9zZWNzPTIuMFx1MDAyNndlYl9sb2dfYXBwX2luc3RhbGxfZXhwZXJpbWVudHM9dHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW5jbHVkZV9pbm5lcnR1YmVfY29tbWFuZHM9dHJ1ZVx1MDAyNmh0bWw1X2xvZ19leHBlcmltZW50X2lkX2Zyb21fcGxheWVyX3Jlc3BvbnNlX3RvX2N0bXA9XHUwMDI2aHRtbDVfYWxsb3dhYmxlX2xpdmVuZXNzX2RyaWZ0X2NodW5rcz0yXHUwMDI2d2ViX2NsaWVudF9jb3VudGVyX3JhbmRvbV9zZWVkPXRydWVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9zZWVrX2xhdGVuY3lfZnVkZ2U9MC41XHUwMDI2ZW5hYmxlX3RvcHNvaWxfd3RhX2Zvcl9oYWxmdGltZT10cnVlXHUwMDI2d2ViX29wX2VuZHBvaW50X2Jhbmxpc3Q9KClcdTAwMjZ2YXJpYWJsZV9sb2FkX3RpbWVvdXRfbXM9MFx1MDAyNm5ldHdvcmtsZXNzX3JlcXVlc3RfYWdlX2xpbWl0PTMwXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2Npbmc9dHJ1ZVx1MDAyNmh0bWw1X2V4cGVyaW1lbnRfaWRfbGFiZWw9MFx1MDAyNndlYl9wbGF5ZXJfbXVzaWNfdmlzdWFsaXplcl90cmVhdG1lbnQ9ZmFrZVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnQ9LTFcdTAwMjZodG1sNV9kZWxheV9pbml0aWFsX2xvYWRpbmc9dHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfbm9fcmVxdWVzdHNfYWZ0ZXJfbG9jaz10cnVlXHUwMDI2dXNlX3JlbW90ZV9jb250ZXh0X2luX3BvcHVsYXRlX3JlbW90ZV9jbGllbnRfaW5mbz10cnVlXHUwMDI2aHRtbDVfd29ya2Fyb3VuZF9kZWxheV90cmlnZ2VyPXRydWVcdTAwMjZodG1sNV9yZW1vdmVfbm90X3NlcnZhYmxlX2NoZWNrX2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNmRlbGF5X2dlbF91bnRpbF9jb25maWdfcmVhZHk9dHJ1ZVx1MDAyNmRlYnVnX2RhcHBlcl90cmFjZV9pZD1cdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9zaGFyZV9wYW5lbD10cnVlXHUwMDI2d2ViX3BsYXllcl9zZW50aW5lbF9pc191bmlwbGF5ZXI9dHJ1ZVx1MDAyNndlYl9hcGlfdXJsPXRydWVcdTAwMjZodG1sNV9lbmFibGVfZWFjMz10cnVlXHUwMDI2aHRtbDVfbmV3X2VsZW1fb25faGlkZGVuPXRydWVcdTAwMjZodG1sNV9pbmxpbmVfdmlkZW9fcXVhbGl0eV9zdXJ2ZXk9dHJ1ZVx1MDAyNmh0bWw1X25ld19lbGVtZW50X29uX2ludmFsaWRfc3RhdGU9dHJ1ZVx1MDAyNnR2aHRtbDVfZGlzYWJsZV9saXZlX3ByZWZldGNoPXRydWVcdTAwMjZib3RndWFyZF9ldmFsX3dpdGhfc2NyaXB0X3RhZz10cnVlXHUwMDI2d2ViX3BsYXllcl9zaG93X211c2ljX2luX3RoaXNfdmlkZW9fZ3JhcGhpYz12aWRlb190aHVtYm5haWxcdTAwMjZleHRlcm5hbF9mdWxsc2NyZWVuX3dpdGhfZWR1PXRydWVcdTAwMjZodG1sNV9wcmVmZXJfc2VydmVyX2J3ZTM9dHJ1ZVx1MDAyNmRpc2FibGVfbmV3X3BhdXNlX3N0YXRlMz10cnVlXHUwMDI2aHRtbDVfbGljZW5zZV9zZXJ2ZXJfZXJyb3JfcmV0cnlfbGltaXQ9M1x1MDAyNmh0bWw1X3N0b3BfdmlkZW9faW5fY2FuY2VsX3BsYXliYWNrPXRydWVcdTAwMjZodG1sNV9hdXRvcGxheV9kZWZhdWx0X3F1YWxpdHlfY2FwPTBcdTAwMjZodG1sNV9hZHNfcHJlcm9sbF9sb2NrX3RpbWVvdXRfZGVsYXlfbXM9MFx1MDAyNmh0bWw1X3ZwOV9uZXdfbWltZT10cnVlXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc19vbl90aW1lb3V0PTAuMVx1MDAyNmFsbG93X2xpdmVfYXV0b3BsYXk9dHJ1ZVx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6aW5nX211bHRpcGxpZXI9MC44XHUwMDI2aHRtbDVfZGVmYXVsdF9hZF9nYWluPTAuNVx1MDAyNnd3d19mb3JfdmlkZW9zdGF0cz10cnVlXHUwMDI2cGxheWVyX3dlYl9jYW5hcnlfc3RhZ2U9MFx1MDAyNmh0bWw1X2ZsdWRkX3N1c3BlbmQ9dHJ1ZVx1MDAyNnBsYXllcl9kb3VibGV0YXBfdG9fc2Vlaz10cnVlIjt9eXRjZmcuc2V0KHsnV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR1MnOiBjb25maWdzfSk7fSkoKTs8L3NjcmlwdD4KCiAgPHNjcmlwdCA+CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgIHZhciBzZXRGaWxsZXIgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZmlsbGVyRGF0YSA9IHsKICAgICAgICAgIGJyb3dzZTogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICdicm93c2UnCiAgICAgICAgICB9LAogICAgICAgICAgaG9tZTogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICdob21lJywKICAgICAgICAgICAgZW5kcG9pbnQ6IHsKICAgICAgICAgICAgICBjb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgIHdlYkNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgICB1cmw6ICIvIiwKICAgICAgICAgICAgICAgICAgd2ViUGFnZVR5cGU6ICJXRUJfUEFHRV9UWVBFX0JST1dTRSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHVybEVuZHBvaW50OiB7CiAgICAgICAgICAgICAgICB1cmw6ICIvIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmVzcG9uc2U6IHsKICAgICAgICAgICAgICBjb250ZW50czogewogICAgICAgICAgICAgICAgdHdvQ29sdW1uQnJvd3NlUmVzdWx0c1JlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgIHRhYnM6IFt7CiAgICAgICAgICAgICAgICAgICAgdGFiUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgY29udGVudDogewogICAgICAgICAgICAgICAgICAgICAgICByaWNoR3JpZFJlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvbnM6IFt7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0Q29udGludWF0aW9uRGF0YToge2NvbnRpbnVhdGlvbjogJyd9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBzZWFyY2g6IHsKICAgICAgICAgICAgZmlsbGVyOiB0cnVlLAogICAgICAgICAgICBwYWdlOiAnc2VhcmNoJywKICAgICAgICAgICAgZW5kcG9pbnQ6IHsKICAgICAgICAgICAgICBjb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgIHdlYkNvbW1hbmRNZXRhZGF0YTogewogICAgICAgICAgICAgICAgICB1cmw6ICIvcmVzdWx0cyIsCiAgICAgICAgICAgICAgICAgIHdlYlBhZ2VUeXBlOiAiV0VCX1BBR0VfVFlQRV9TRUFSQ0giCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB1cmxFbmRwb2ludDogewogICAgICAgICAgICAgICAgdXJsOiAiL3Jlc3VsdHMiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNwb25zZTogewogICAgICAgICAgICAgIGNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICB0d29Db2x1bW5TZWFyY2hSZXN1bHRzUmVuZGVyZXI6IHsKICAgICAgICAgICAgICAgICAgcHJpbWFyeUNvbnRlbnRzOiB7CiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbkxpc3RSZW5kZXJlcjogewogICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IFtdLAogICAgICAgICAgICAgICAgICAgICAgc3ViTWVudTogewogICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hTdWJNZW51UmVuZGVyZXI6IHt9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICBzZWNvbmRhcnlDb250ZW50czogewogICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeVNlYXJjaENvbnRhaW5lclJlbmRlcmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50czogW10KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB3YXRjaDogewogICAgICAgICAgICBmaWxsZXI6IHRydWUsCiAgICAgICAgICAgIHBhZ2U6ICd3YXRjaCcsCiAgICAgICAgICAgIGVuZHBvaW50OiB7CiAgICAgICAgICAgICAgY29tbWFuZE1ldGFkYXRhOiB7CiAgICAgICAgICAgICAgICB3ZWJDb21tYW5kTWV0YWRhdGE6IHsKICAgICAgICAgICAgICAgICAgdXJsOiAiL3dhdGNoIiwKICAgICAgICAgICAgICAgICAgd2ViUGFnZVR5cGU6ICJXRUJfUEFHRV9UWVBFX1dBVENIIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgdXJsRW5kcG9pbnQ6IHsKICAgICAgICAgICAgICAgIHVybDogIi93YXRjaCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHBsYXllclJlc3BvbnNlOiB7CiAgICAgICAgICAgICAgcGxheWFiaWxpdHlTdGF0dXM6IHsKICAgICAgICAgICAgICAgIHN0YXR1czogJ09LJwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmVzcG9uc2U6IHsKICAgICAgICAgICAgICBjb250ZW50czogewogICAgICAgICAgICAgICAgdHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0czogewogICAgICAgICAgICAgICAgICByZXN1bHRzOiB7CiAgICAgICAgICAgICAgICAgICAgcmVzdWx0czogewogICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IFt7CiAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvUHJpbWFyeUluZm9SZW5kZXJlcjoge30sCiAgICAgICAgICAgICAgICAgICAgICAgIHZpZGVvU2Vjb25kYXJ5SW5mb1JlbmRlcmVyOiB7fQogICAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHNlY29uZGFyeVJlc3VsdHM6IHsKICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnlSZXN1bHRzOiB7fQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93Lnl0Y2ZnLnNldCgnRklMTEVSX0RBVEEnLCBmaWxsZXJEYXRhKTsKICAgICAgfTsKCiAgICAgICAgd2luZG93LmdldFBhZ2VEYXRhID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICBpZiAod2luZG93Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soInByIiwgbnVsbCwgJycpO30KICAgICAgICAgIHZhciBlbmRwb2ludCA9IG51bGw7CiAgICAgICAgICAgIGVuZHBvaW50ID0geyJjb21tYW5kTWV0YWRhdGEiOnsid2ViQ29tbWFuZE1ldGFkYXRhIjp7InVybCI6Ii93YXRjaD92PVNVa1h2V24xbTdRIiwid2ViUGFnZVR5cGUiOiJXRUJfUEFHRV9UWVBFX1VOS05PV04iLCJyb290VmUiOjgzNzY5fX0sInVybEVuZHBvaW50Ijp7InVybCI6Ii93YXRjaD92PVNVa1h2V24xbTdRIn19OwogICAgICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgICAgICAgcGFnZTogIndhdGNoIiwKICAgICAgICAgICAgICBwbGF5ZXI6IHl0cGxheWVyLmNvbmZpZywKICAgICAgICAgICAgICBwbGF5ZXJSZXNwb25zZTogd2luZG93Lnl0SW5pdGlhbFBsYXllclJlc3BvbnNlLAogICAgICAgICAgICAgICAgdXJsOiAiXC93YXRjaD92PVNVa1h2V24xbTdRIiwKICAgICAgICAgICAgICByZXNwb25zZTogd2luZG93Lnl0SW5pdGlhbERhdGEsCiAgICAgICAgICAgICAgZW5kcG9pbnQ6IGVuZHBvaW50CiAgICAgICAgICB9OwogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgZGF0YTogZGF0YSwKICAgICAgICAgICAgZW5kcG9pbnQ6IGVuZHBvaW50CiAgICAgICAgICB9OwogICAgICAgIH07CgogICAgICAgIGlmICh3aW5kb3cubG9hZERhdGFIb29rKSB7CiAgICAgICAgICB2YXIgcGFnZURhdGEgPSB3aW5kb3cuZ2V0UGFnZURhdGEoKTsKICAgICAgICAgIHdpbmRvdy5sb2FkRGF0YUhvb2socGFnZURhdGEuZW5kcG9pbnQsIHBhZ2VEYXRhLmRhdGEpOwogICAgICAgICAgd2luZG93LmxvYWREYXRhSG9vayA9IG51bGw7CiAgICAgICAgfQogICAgICAgIHNldEZpbGxlcigpOwoKICAgIH0pKCk7CgogICAgICB2YXIgbWV0YSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGEnKTsKICAgICAgbWV0YS5uYW1lID0gJ3JlZmVycmVyJzsKICAgICAgbWV0YS5jb250ZW50ID0gJ29yaWdpbic7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobWV0YSk7CiAgICAgIHZhciBub2luZGV4TWV0YSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGEnKTsKICAgICAgbWV0YS5uYW1lID0gJ3JvYm90cyc7CiAgICAgIG1ldGEuY29udGVudCA9ICdub2luZGV4JzsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChtZXRhKTsKCiAgPC9zY3JpcHQ+CiAgCjxzY3JpcHQgPmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kuaW5mbygic3QiLCAxMTEsICcnKTt9PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4=
|
57
|
+
http_version:
|
58
|
+
recorded_at: Tue, 27 Oct 2020 18:33:34 GMT
|
59
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,114 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=youtube_api_key_123&part=snippet,statistics,status,contentDetails
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- VideoInfo/2.8.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json; charset=UTF-8
|
23
|
+
Vary:
|
24
|
+
- Origin
|
25
|
+
- Referer
|
26
|
+
- X-Origin
|
27
|
+
Date:
|
28
|
+
- Tue, 27 Oct 2020 18:33:51 GMT
|
29
|
+
Server:
|
30
|
+
- scaffolding on HTTPServer2
|
31
|
+
Cache-Control:
|
32
|
+
- private
|
33
|
+
X-Xss-Protection:
|
34
|
+
- '0'
|
35
|
+
X-Frame-Options:
|
36
|
+
- SAMEORIGIN
|
37
|
+
X-Content-Type-Options:
|
38
|
+
- nosniff
|
39
|
+
Alt-Svc:
|
40
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
41
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
42
|
+
ma=2592000; v="46,43"
|
43
|
+
Transfer-Encoding:
|
44
|
+
- chunked
|
45
|
+
body:
|
46
|
+
encoding: ASCII-8BIT
|
47
|
+
string: |
|
48
|
+
{
|
49
|
+
"items": []
|
50
|
+
}
|
51
|
+
http_version:
|
52
|
+
recorded_at: Tue, 27 Oct 2020 18:33:51 GMT
|
53
|
+
- request:
|
54
|
+
method: get
|
55
|
+
uri: https://www.googleapis.com/youtube/v3/videos?fields=items(id,snippet,statistics,status,contentDetails)&id=SUkXvWn1m7Q&key=%3Cyoutube_api_key_123%3E&part=snippet,statistics,status,contentDetails
|
56
|
+
body:
|
57
|
+
encoding: US-ASCII
|
58
|
+
string: ''
|
59
|
+
headers:
|
60
|
+
User-Agent:
|
61
|
+
- VideoInfo/2.8.0
|
62
|
+
Accept-Encoding:
|
63
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
64
|
+
Accept:
|
65
|
+
- "*/*"
|
66
|
+
response:
|
67
|
+
status:
|
68
|
+
code: 400
|
69
|
+
message: Bad Request
|
70
|
+
headers:
|
71
|
+
Vary:
|
72
|
+
- Origin
|
73
|
+
- Referer
|
74
|
+
- X-Origin
|
75
|
+
Content-Type:
|
76
|
+
- application/json; charset=UTF-8
|
77
|
+
Date:
|
78
|
+
- Tue, 27 Oct 2020 18:44:58 GMT
|
79
|
+
Server:
|
80
|
+
- scaffolding on HTTPServer2
|
81
|
+
Cache-Control:
|
82
|
+
- private
|
83
|
+
X-Xss-Protection:
|
84
|
+
- '0'
|
85
|
+
X-Frame-Options:
|
86
|
+
- SAMEORIGIN
|
87
|
+
X-Content-Type-Options:
|
88
|
+
- nosniff
|
89
|
+
Alt-Svc:
|
90
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
91
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
92
|
+
ma=2592000; v="46,43"
|
93
|
+
Transfer-Encoding:
|
94
|
+
- chunked
|
95
|
+
body:
|
96
|
+
encoding: ASCII-8BIT
|
97
|
+
string: |
|
98
|
+
{
|
99
|
+
"error": {
|
100
|
+
"code": 400,
|
101
|
+
"message": "API key not valid. Please pass a valid API key.",
|
102
|
+
"errors": [
|
103
|
+
{
|
104
|
+
"message": "API key not valid. Please pass a valid API key.",
|
105
|
+
"domain": "global",
|
106
|
+
"reason": "badRequest"
|
107
|
+
}
|
108
|
+
],
|
109
|
+
"status": "INVALID_ARGUMENT"
|
110
|
+
}
|
111
|
+
}
|
112
|
+
http_version:
|
113
|
+
recorded_at: Tue, 27 Oct 2020 18:44:58 GMT
|
114
|
+
recorded_with: VCR 3.0.3
|