[fusion_builder_container type=”flex” hundred_percent=”no” hundred_percent_height=”no” min_height_medium=”” min_height_small=”” min_height=”” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap_medium=”” flex_wrap_small=”” flex_wrap=”wrap” flex_column_spacing=”” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” html_attributes=”” spacing_medium=”” margin_top_medium=”” margin_bottom_medium=”” spacing_small=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_dimensions_medium=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_dimensions_small=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” link_hover_color=”” link_color=”” border_sizes=”” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index=”” overflow=”” background_color_medium=”” background_color_small=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”center center” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_random_order=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” pattern_bg=”none” pattern_custom_bg=”” pattern_bg_color=”” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_size=”” pattern_bg_blend_mode=”normal” mask_bg=”none” mask_custom_bg=”” mask_bg_color=”” mask_bg_accent_color=”” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” render_logics=”” logics=”” absolute=”off” absolute_devices=”small,medium,large” position_offset_medium=”” position_top_medium=”” position_right_medium=”” position_bottom_medium=”” position_left_medium=”” position_offset_small=”” position_top_small=”” position_right_small=”” position_bottom_small=”” position_left_small=”” position_top=”” position_right=”” position_bottom=”” position_left=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_background_color=”” sticky_height=”” sticky_offset=”” sticky_transition_offset=”0″ scroll_offset=”0″ animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” dimension_gap_medium=”” dimension_gap_small=”” dimension_gap=”” content_wrap=”wrap” spacing=”” center_content=”no” column_tag=”div” link=”” target=”_self” link_description=”” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” html_attributes=”” type_medium=”” type_small=”” max_height_medium=”” max_height_small=”” max_height=”” flex_grow_medium=”” flex_grow_small=”” flex_grow=”” flex_shrink_medium=”” flex_shrink_small=”” flex_shrink=”” order_medium=”0″ order_small=”0″ dimension_spacing_medium=”” dimension_spacing_small=”” dimension_spacing=”” dimension_margin_medium=”” dimension_margin_small=”” margin_top=”” margin_bottom=”” padding_medium=”” padding_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” hover_type=”none” border_sizes=”” border_color_hover=”” border_color=”” border_style=”solid” border_radius=”” box_shadow=”no” dimension_box_shadow=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index_hover=”” z_index=”” overflow=”” background_type=”single” background_color_medium=”” background_color_small=”” background_color_medium_hover=”” background_color_small_hover=”” background_color_hover=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” background_image_id_medium=”” background_image_id_small=”” background_image_id=”” lazy_load=”avada” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”left top” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_random_order=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” render_logics=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_offset=”” absolute=”off” absolute_props=”” filter_type=”regular” filter_hover_element=”self” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ transform_type=”regular” transform_hover_element=”self” transform_scale_x=”1″ transform_scale_y=”1″ transform_translate_x=”0″ transform_translate_y=”0″ transform_rotate=”0″ transform_skew_x=”0″ transform_skew_y=”0″ transform_scale_x_hover=”1″ transform_scale_y_hover=”1″ transform_translate_x_hover=”0″ transform_translate_y_hover=”0″ transform_rotate_hover=”0″ transform_skew_x_hover=”0″ transform_skew_y_hover=”0″ transform_origin=”” transition_duration=”300″ transition_easing=”ease” transition_custom_easing=”” motion_effects=”” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” last=”true” border_position=”all” first=”true”][fusion_code render_logics=””]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBDQVJMICYgQ09NUEFTUyBTVVBQT1JUIEhVQiDigJQgU2ltcGxpZmllZCBSZWRlc2lnbgogICAgIEF2YWRhIGNvZGUgYmxvY2sKICAgICBGb3JtcyBhcmUgdW5jaGFuZ2VkIGZvciBub3cuIFVwZGF0ZSBUYWxseSBsaW5rcyBsYXRlciBhcyBuZWVkZWQuCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Qb3BwaW5zOndnaHRANDAwOzUwMDs2MDA7NzAwOzgwMDs5MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgoKPGRpdiBjbGFzcz0iY2Mtc3VwcG9ydC1zaW1wbGUiIGRhdGEtc3VwcG9ydC1hY3RpdmU9ImhlbHAiPgogIDxzdHlsZT4KICAgIC5jYy1zdXBwb3J0LXNpbXBsZSwKICAgIC5jYy1zdXBwb3J0LXNpbXBsZSAqLAogICAgLmNjLXN1cHBvcnQtc2ltcGxlICo6OmJlZm9yZSwKICAgIC5jYy1zdXBwb3J0LXNpbXBsZSAqOjphZnRlciB7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjLXN1cHBvcnQtc2ltcGxlIHsKICAgICAgLS1jY3MtbmF2eTogIzAwMkQ0QzsKICAgICAgLS1jY3MtbmF2eS1kYXJrOiAjMDAxOTMwOwogICAgICAtLWNjcy10ZXh0OiAjMEYyQTQ0OwogICAgICAtLWNjcy1tdXRlZDogIzVBNjg3ODsKICAgICAgLS1jY3MtbWV0YTogIzdBODY5NjsKICAgICAgLS1jY3MtbGluZTogI0U4RUNFRjsKICAgICAgLS1jY3Mtc29mdC1saW5lOiAjZWRmM2Y2OwogICAgICAtLWNjcy13aGl0ZTogI0ZGRkZGRjsKICAgICAgLS1jY3Mtb2Zmd2hpdGU6ICNGOEY5RkI7CiAgICAgIC0tY2NzLWJsdWU6ICM1OUM5RTE7CiAgICAgIC0tY2NzLXRlYWw6ICMwMEU1RDM7CiAgICAgIC0tY2NzLWxpbWU6ICNBOEUwNjM7CiAgICAgIC0tY2NzLWdyZWVuLXN0YXJ0OiAjOEVEODVDOwogICAgICAtLWNjcy1ncmVlbi1lbmQ6ICNCMkU4NkI7CiAgICAgIC0tY2NzLWNvcmFsOiAjRjg4Mzc5OwogICAgICAtLWNjcy1waW5rOiAjRjY3MUVBOwogICAgICAtLWNjcy1ibHVlLXRpbnQ6IHJnYmEoODksIDIwMSwgMjI1LCAwLjEwKTsKICAgICAgLS1jY3MtZ3JlZW4tdGludDogcmdiYSgxNDIsIDIxNiwgOTIsIDAuMTQpOwogICAgICAtLWNjcy1jb3JhbC10aW50OiByZ2JhKDI0OCwgMTMxLCAxMjEsIDAuMTApOwogICAgICAtLWNjcy1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE1LCAzMCwgNTUsIDAuMDQpLCAwIDhweCAyNHB4IHJnYmEoMTUsIDMwLCA1NSwgMC4wNik7CiAgICAgIC0tY2NzLXNoYWRvdy1ob3ZlcjogMCAxNHB4IDM0cHggcmdiYSgwLCAyNSwgNDgsIDAuMDkpOwogICAgICAtLWNjcy1zcGVlZDogNzAwbXM7CiAgICAgIC0tY2NzLWVhc2U6IGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpOwoKICAgICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7CiAgICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDsKICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dykgIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDUwdncpICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNjcy13aGl0ZSkgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy10ZXh0KSAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2Mtc3VwcG9ydC1zaW1wbGUgYSwKICAgIC5jYy1zdXBwb3J0LXNpbXBsZSBhOmhvdmVyLAogICAgLmNjLXN1cHBvcnQtc2ltcGxlIGE6Zm9jdXMsCiAgICAuY2Mtc3VwcG9ydC1zaW1wbGUgYnV0dG9uLAogICAgLmNjLXN1cHBvcnQtc2ltcGxlIGJ1dHRvbjpob3ZlciwKICAgIC5jYy1zdXBwb3J0LXNpbXBsZSBidXR0b246Zm9jdXMgewogICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgIH0KCiAgICAuY2Mtc3VwcG9ydC1zaW1wbGUgaW1nLAogICAgLmNjLXN1cHBvcnQtc2ltcGxlIHN2ZyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy13cmFwIHsKICAgICAgd2lkdGg6IG1pbigxMjAwcHgsIGNhbGMoMTAwdncgLSA2MHB4KSkgIWltcG9ydGFudDsKICAgICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CiAgICAgIHotaW5kZXg6IDEgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgIEhFUk8KICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAgIC5jY3MtaGVybyB7CiAgICAgIHBhZGRpbmc6IDg4cHggMzBweCA1OHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxMiUgMTAlLCByZ2JhKDg5LCAyMDEsIDIyNSwgMC4xOCksIHRyYW5zcGFyZW50IDM0JSksCiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4NiUgMTYlLCByZ2JhKDE0MiwgMjE2LCA5MiwgMC4xNCksIHRyYW5zcGFyZW50IDM0JSksCiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0ZGRkZGRiwgI0ZBRkJGQSkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgNDUsIDc2LCAwLjA3KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtaGVyby1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDMzMHB4ICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogNDRweCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1leWVicm93IHsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICBnYXA6IDhweCAhaW1wb3J0YW50OwogICAgICBtYXJnaW46IDAgMCAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jY3MtYmx1ZSkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWV5ZWJyb3c6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICIiICFpbXBvcnRhbnQ7CiAgICAgIHdpZHRoOiA5cHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiA5cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2NzLWJsdWUpLCB2YXIoLS1jY3MtdGVhbCkpICFpbXBvcnRhbnQ7CiAgICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy10aXRsZS14bCB7CiAgICAgIG1hcmdpbjogMCAwIDE4cHggIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMzhweCwgNXZ3LCA1OHB4KSAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyICFpbXBvcnRhbnQ7CiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtICFpbXBvcnRhbnQ7CiAgICAgIG1heC13aWR0aDogNzYwcHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWhlcm8tY29weSB7CiAgICAgIG1heC13aWR0aDogNzYwcHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgMjZweCAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2NzLW11dGVkKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNyAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1oZXJvLWFjdGlvbnMgewogICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgICBnYXA6IDE0cHggIWltcG9ydGFudDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtYnV0dG9uLAogICAgLmNjcy1zbWFsbC1idXR0b24sCiAgICAuY2NzLXRhYiB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZ2FwOiA4cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OwogICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbjoKICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tY2NzLXNwZWVkKSB2YXIoLS1jY3MtZWFzZSkgIWltcG9ydGFudCwKICAgICAgICBib3gtc2hhZG93IHZhcigtLWNjcy1zcGVlZCkgdmFyKC0tY2NzLWVhc2UpICFpbXBvcnRhbnQsCiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1jY3Mtc3BlZWQpIHZhcigtLWNjcy1lYXNlKSAhaW1wb3J0YW50LAogICAgICAgIGNvbG9yIHZhcigtLWNjcy1zcGVlZCkgdmFyKC0tY2NzLWVhc2UpICFpbXBvcnRhbnQsCiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLWNjcy1zcGVlZCkgdmFyKC0tY2NzLWVhc2UpICFpbXBvcnRhbnQsCiAgICAgICAgZmlsdGVyIHZhcigtLWNjcy1zcGVlZCkgdmFyKC0tY2NzLWVhc2UpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1idXR0b24gewogICAgICBtaW4taGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDEzcHggMjJweCAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy1uYXZ5KSAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jY3Mtd2hpdGUpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgNDUsIDc2LCAwLjEyKSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMCwgNDUsIDc2LCAwLjA2KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtYnV0dG9uIHN2ZywKICAgIC5jY3Mtc21hbGwtYnV0dG9uIHN2ZyB7CiAgICAgIHdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogMTZweCAhaW1wb3J0YW50OwogICAgICBmaWxsOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZTogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7CiAgICAgIHN0cm9rZS13aWR0aDogMiAhaW1wb3J0YW50OwogICAgICBzdHJva2UtbGluZWNhcDogcm91bmQgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtYnV0dG9uLWNhcmwgewogICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OwogICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNjcy1waW5rKSwgdmFyKC0tY2NzLWNvcmFsKSkgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDAsIDQ1LCA3NiwgMC4xMykgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWJ1dHRvbi1jb21wYXNzIHsKICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jY3MtZ3JlZW4tc3RhcnQpLCB2YXIoLS1jY3MtZ3JlZW4tZW5kKSkgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDAsIDQ1LCA3NiwgMC4xMikgIWltcG9ydGFudDsKICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDI1LCA0OCwgMC4xOCkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWJ1dHRvbjpob3ZlciB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDdweCAyMnB4IHJnYmEoMCwgNDUsIDc2LCAwLjEyKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3Mtbm90ZS1jYXJkIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2NzLXdoaXRlKSAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAyMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgNDUsIDc2LCAwLjA4KSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiB2YXIoLS1jY3Mtc2hhZG93KSAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAyNnB4ICFpbXBvcnRhbnQ7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OwogICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1ub3RlLWNhcmQ6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICIiICFpbXBvcnRhbnQ7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICAgIHRvcDogMCAhaW1wb3J0YW50OwogICAgICB3aWR0aDogNXB4ICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jY3MtYmx1ZSksIHZhcigtLWNjcy10ZWFsKSwgdmFyKC0tY2NzLWdyZWVuLXN0YXJ0KSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLW5vdGUtdGl0bGUgewogICAgICBtYXJnaW46IDAgMCAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jY3MtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1ub3RlLWNvcHkgewogICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY1ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICBNQUlOCiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiAgICAuY2NzLW1haW4gewogICAgICBwYWRkaW5nOiA1NHB4IDMwcHggOTZweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jY3Mtd2hpdGUpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1zZWN0aW9uLWhlYWQgewogICAgICBtYXJnaW46IDAgMCAxOHB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1zZWN0aW9uLWtpY2tlciB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgZ2FwOiA4cHggIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwIDAgOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jY3MtYmx1ZSkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtICFpbXBvcnRhbnQ7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLXNlY3Rpb24ta2lja2VyOjpiZWZvcmUgewogICAgICBjb250ZW50OiAiIiAhaW1wb3J0YW50OwogICAgICB3aWR0aDogMjJweCAhaW1wb3J0YW50OwogICAgICBoZWlnaHQ6IDRweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jY3MtYmx1ZSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLXNlY3Rpb24tdGl0bGUgewogICAgICBtYXJnaW46IDAgMCA2cHggIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7CiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbSAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1zZWN0aW9uLWNvcHkgewogICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYgIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OwogICAgICBtYXgtd2lkdGg6IDc2MHB4ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1ndWlkZS1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxOHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDQycHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWd1aWRlLWNhcmQgewogICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICAgICAgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1pbi1oZWlnaHQ6IDIxMHB4ICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDI0cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50OwogICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDQ1LCA3NiwgMC4wOSkgIWltcG9ydGFudDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2NzLXdoaXRlKSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiB2YXIoLS1jY3Mtc2hhZG93KSAhaW1wb3J0YW50OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtZ3VpZGUtY2FyZDo6YmVmb3JlIHsKICAgICAgY29udGVudDogIiIgIWltcG9ydGFudDsKICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICAgIHRvcDogMCAhaW1wb3J0YW50OwogICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tY2NzLXBpbmspLCB2YXIoLS1jY3MtY29yYWwpKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtZ3VpZGUtY2FyZC1jb21wYXNzOjpiZWZvcmUgewogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWNjcy1ncmVlbi1zdGFydCksIHZhcigtLWNjcy10ZWFsKSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWd1aWRlLWtpY2tlciB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDZweCAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAxMzEsIDEyMSwgMC4xMikgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICNhOTNiMzAgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbSAhaW1wb3J0YW50OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1ndWlkZS1jYXJkLWNvbXBhc3MgLmNjcy1ndWlkZS1raWNrZXIgewogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2OCwgMjI0LCA5OSwgMC4xNikgIWltcG9ydGFudDsKICAgICAgY29sb3I6ICM0ZjdhMTYgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWd1aWRlLXRpdGxlIHsKICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jY3MtbmF2eS1kYXJrKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMjUgIWltcG9ydGFudDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW0gIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtZ3VpZGUtY29weSB7CiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2NzLW11dGVkKSAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNjUgIWltcG9ydGFudDsKICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OwogICAgICBmbGV4OiAxICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1ndWlkZS1saW5rcyB7CiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgICAgIGdhcDogMTBweCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3Mtc21hbGwtYnV0dG9uIHsKICAgICAgbWluLWhlaWdodDogMzRweCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiA5cHggMTNweCAhaW1wb3J0YW50OwogICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4OSwgMjAxLCAyMjUsIDAuMjIpICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoODksIDIwMSwgMjI1LCAwLjA4KSAhaW1wb3J0YW50OwogICAgICBjb2xvcjogdmFyKC0tY2NzLW5hdnkpICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWd1aWRlLWNhcmQtY29tcGFzcyAuY2NzLXNtYWxsLWJ1dHRvbiB7CiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNDIsIDIxNiwgOTIsIDAuMjgpICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTQyLCAyMTYsIDkyLCAwLjEyKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3Mtc21hbGwtYnV0dG9uOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAyMjksIDIxMSwgMC4xMCkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDIyOSwgMjExLCAwLjMyKSAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiAwIDVweCAxNHB4IHJnYmEoMCwgNDUsIDc2LCAwLjA1NSkgIWltcG9ydGFudDsKICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICBDT05UQUNUIFNFQ1RJT04KICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAgIC5jY3MtY29udGFjdC1zaGVsbCB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHggIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCA0NSwgNzYsIDAuMDgpICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNjcy13aGl0ZSkgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA4cHggMzRweCByZ2JhKDAsIDQ1LCA3NiwgMC4wNzUpICFpbXBvcnRhbnQ7CiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWNvbnRhY3QtaGVhZCB7CiAgICAgIHBhZGRpbmc6IDI4cHggMzBweCAyMnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoODksIDIwMSwgMjI1LCAwLjEwKSwgcmdiYSgxNDIsIDIxNiwgOTIsIDAuMDgpKSAhaW1wb3J0YW50OwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCA0NSwgNzYsIDAuMDcpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy10YWItcm93IHsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxMHB4ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLXRhYiB7CiAgICAgIGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDsKICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nOiAxMHB4IDE1cHggIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgNDUsIDc2LCAwLjEyKSAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jY3Mtd2hpdGUpICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jY3MtbmF2eSkgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDAsIDQ1LCA3NiwgMC4wNSkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLXRhYjpob3ZlciB7CiAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDE4cHggcmdiYSgwLCA0NSwgNzYsIDAuMDgpICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtdGFiW2FyaWEtc2VsZWN0ZWQ9InRydWUiXSB7CiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNjcy1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2NzLW5hdnktZGFyaykgIWltcG9ydGFudDsKICAgICAgYm94LXNoYWRvdzogMCA3cHggMThweCByZ2JhKDAsIDI1LCA0OCwgMC4xNCkgIWltcG9ydGFudDsKICAgIH0KCiAgICAuY2NzLWZvcm0tYXJlYSB7CiAgICAgIHBhZGRpbmc6IDMwcHggMzRweCAzNnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tY2NzLWJsdWUpICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1jY3Mtc3BlZWQpIHZhcigtLWNjcy1lYXNlKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jYy1zdXBwb3J0LXNpbXBsZVtkYXRhLXN1cHBvcnQtYWN0aXZlPSJoZWxwIl0gLmNjcy1mb3JtLWFyZWEgeyBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY2NzLWJsdWUpICFpbXBvcnRhbnQ7IH0KICAgIC5jYy1zdXBwb3J0LXNpbXBsZVtkYXRhLXN1cHBvcnQtYWN0aXZlPSJpc3N1ZSJdIC5jY3MtZm9ybS1hcmVhIHsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNjcy1jb3JhbCkgIWltcG9ydGFudDsgfQogICAgLmNjLXN1cHBvcnQtc2ltcGxlW2RhdGEtc3VwcG9ydC1hY3RpdmU9InJlcXVlc3QiXSAuY2NzLWZvcm0tYXJlYSB7IGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jY3MtbGltZSkgIWltcG9ydGFudDsgfQoKICAgIC5jY3MtcGFuZWwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgIC5jY3MtcGFuZWwtYWN0aXZlIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfQoKICAgIC5jY3MtcGFuZWwtdGlwIHsKICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQycHggbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDsKICAgICAgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogMCAwIDIycHggIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogMThweCAhaW1wb3J0YW50OwogICAgICBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNjcy1vZmZ3aGl0ZSkgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCA0NSwgNzYsIDAuMDcpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1wYW5lbC1pY29uIHsKICAgICAgd2lkdGg6IDQycHggIWltcG9ydGFudDsKICAgICAgaGVpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHggIWltcG9ydGFudDsKICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoODksIDIwMSwgMjI1LCAwLjE0KSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtcGFuZWwtaWNvbiBzdmcgewogICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50OwogICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDsKICAgICAgZmlsbDogbm9uZSAhaW1wb3J0YW50OwogICAgICBzdHJva2U6IHZhcigtLWNjcy1ibHVlKSAhaW1wb3J0YW50OwogICAgICBzdHJva2Utd2lkdGg6IDIuMiAhaW1wb3J0YW50OwogICAgICBzdHJva2UtbGluZWNhcDogcm91bmQgIWltcG9ydGFudDsKICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZCAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtcGFuZWwtdGl0bGUgewogICAgICBtYXJnaW46IDAgMCA0cHggIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy1uYXZ5LWRhcmspICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1wYW5lbC1jb3B5IHsKICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiB2YXIoLS1jY3MtbXV0ZWQpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS42NSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5jY3MtaWZyYW1lIHsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLmNjcy1tb2JpbGUtaGludCB7CiAgICAgIG1hcmdpbjogMThweCAwIDAgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHZhcigtLWNjcy1tdXRlZCkgIWltcG9ydGFudDsKICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1ICFpbXBvcnRhbnQ7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgIFJFU1BPTlNJVkUKICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkgewogICAgICAuY2NzLWhlcm8tZ3JpZCwKICAgICAgLmNjcy1ndWlkZS1ncmlkIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50OwogICAgICAgIGdhcDogMjhweCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2NzLW5vdGUtY2FyZCB7CiAgICAgICAgbWF4LXdpZHRoOiA2NjBweCAhaW1wb3J0YW50OwogICAgICB9CiAgICB9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7CiAgICAgIC5jY3MtaGVybyB7CiAgICAgICAgcGFkZGluZzogNjhweCAyNHB4IDQ0cHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNjcy13cmFwIHsKICAgICAgICB3aWR0aDogbWluKDEwMCUsIGNhbGMoMTAwdncgLSA0OHB4KSkgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNjcy1tYWluIHsKICAgICAgICBwYWRkaW5nOiA0MnB4IDI0cHggNzJweCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2NzLXRpdGxlLXhsIHsKICAgICAgICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNjcy1oZXJvLWNvcHkgewogICAgICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2NzLWhlcm8tYWN0aW9ucyB7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jY3MtYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2NzLWNvbnRhY3QtaGVhZCB7CiAgICAgICAgcGFkZGluZzogMjRweCAyMHB4IDIwcHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNjcy10YWItcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNjcy10YWIgewogICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jY3MtZm9ybS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHggMjhweCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2NzLXBhbmVsLXRpcCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNjcy1tb2JpbGUtaGludCB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICAgfQogICAgfQoKICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgewogICAgICAuY2NzLXdyYXAgewogICAgICAgIHdpZHRoOiBtaW4oMTAwJSwgY2FsYygxMDB2dyAtIDMycHgpKSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuY2NzLXRpdGxlLXhsIHsKICAgICAgICBmb250LXNpemU6IDM2cHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmNjcy1ndWlkZS1jYXJkIHsKICAgICAgICBwYWRkaW5nOiAyMnB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIH0KCiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICAgICAuY2Mtc3VwcG9ydC1zaW1wbGUgKiwKICAgICAgLmNjLXN1cHBvcnQtc2ltcGxlICo6aG92ZXIgewogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgfQogIDwvc3R5bGU+CgogIDxzZWN0aW9uIGNsYXNzPSJjY3MtaGVybyI+CiAgICA8ZGl2IGNsYXNzPSJjY3Mtd3JhcCI+CiAgICAgIDxkaXYgY2xhc3M9ImNjcy1oZXJvLWdyaWQiPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtZXllYnJvdyI+Q0FSTCAmIENvbXBhc3MgU3VwcG9ydDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2NzLXRpdGxlLXhsIj5OZWVkIGhlbHAgd2l0aCBDQVJMIG9yIENvbXBhc3M/PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtaGVyby1jb3B5Ij4KICAgICAgICAgICAgU3RhcnQgd2l0aCB0aGUgZ3VpZGUgcGFnZXMgaWYgeW91IG5lZWQgYSBxdWljayBhbnN3ZXIuIElmIHNvbWV0aGluZyBpcyBicm9rZW4sIGNvbmZ1c2luZywgb3IgbWlzc2luZywgc2VuZCB1cyB0aGUgZGV0YWlscyBhbmQgd2XigJlsbCByb3V0ZSBpdCB0byB0aGUgcmlnaHQgcGxhY2UuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1oZXJvLWFjdGlvbnMiPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9sZWFybi1zdXBwb3J0LyIgY2xhc3M9ImNjcy1idXR0b24gY2NzLWJ1dHRvbi1jYXJsIj4KICAgICAgICAgICAgICBDQVJMIExlYXJuICYgU3VwcG9ydAogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSAxMmgxNCI+PC9wYXRoPjxwYXRoIGQ9Im0xMiA1IDcgNy03IDciPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9jb21wYXNzLXF1aWNrLWd1aWRlcy8iIGNsYXNzPSJjY3MtYnV0dG9uIGNjcy1idXR0b24tY29tcGFzcyI+CiAgICAgICAgICAgICAgQ29tcGFzcyBRdWljayBHdWlkZXMKICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTUgMTJoMTQiPjwvcGF0aD48cGF0aCBkPSJtMTIgNSA3IDctNyA3Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8YXNpZGUgY2xhc3M9ImNjcy1ub3RlLWNhcmQiIGFyaWEtbGFiZWw9IlN1cHBvcnQgcmVzcG9uc2Ugbm90ZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3Mtbm90ZS10aXRsZSI+QmVmb3JlIHlvdSBzZW5kPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3Mtbm90ZS1jb3B5Ij4KICAgICAgICAgICAgV2UgdHlwaWNhbGx5IHJlc3BvbmQgd2l0aGluIDI0IGhvdXJzLiBQbGVhc2UgdGVsbCB1cyB3aGV0aGVyIHlvdXIgcXVlc3Rpb24gaXMgYWJvdXQgQ0FSTCwgQ29tcGFzcywgb3IgYm90aC4gU2NyZWVuc2hvdHMgYXJlIGVzcGVjaWFsbHkgaGVscGZ1bCBmb3IgaXNzdWVzLgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9hc2lkZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDxtYWluIGNsYXNzPSJjY3MtbWFpbiI+CiAgICA8ZGl2IGNsYXNzPSJjY3Mtd3JhcCI+CiAgICAgIDxkaXYgY2xhc3M9ImNjcy1zZWN0aW9uLWhlYWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNjcy1zZWN0aW9uLWtpY2tlciI+RmluZCBhbiBhbnN3ZXIgZmlyc3Q8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjY3Mtc2VjdGlvbi10aXRsZSI+R3VpZGUgcGFnZXMgZm9yIGNvbW1vbiBxdWVzdGlvbnM8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjY3Mtc2VjdGlvbi1jb3B5Ij5UaGVzZSBhcmUgdXN1YWxseSB0aGUgZmFzdGVzdCBwYXRoIGZvciDigJx3aGVyZSBkbyBJIGNsaWNrP+KAnSBvciDigJxob3cgZG9lcyB0aGlzIHdvcms/4oCdIHF1ZXN0aW9ucy48L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8c2VjdGlvbiBjbGFzcz0iY2NzLWd1aWRlLWdyaWQiIGFyaWEtbGFiZWw9Ikd1aWRlIHNob3J0Y3V0cyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2NzLWd1aWRlLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2NzLWd1aWRlLWtpY2tlciI+Q0FSTCBndWlkZXM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1ndWlkZS10aXRsZSI+VXNpbmcgQ0FSTCBsZXNzb24gcGxhbm5pbmc/PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtZ3VpZGUtY29weSI+CiAgICAgICAgICAgIFN0YXJ0IHdpdGggQ0FSTCBMZWFybiAmIFN1cHBvcnQgZm9yIGxlc3NvbiBjcmVhdGlvbiwgY29tcG9uZW50cywgdGVhY2hpbmcgcmVzb3VyY2VzLCBibG9ja3MsIENBUkwtQXNzaXN0LCBwdWJsaXNoaW5nLCBhbmQgZG93bmxvYWRzLgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtZ3VpZGUtbGlua3MiPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9sZWFybi1zdXBwb3J0LyIgY2xhc3M9ImNjcy1zbWFsbC1idXR0b24iPkxlYXJuICYgU3VwcG9ydDwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9oaWNhcmwuYWkvcXVpY2staG93LXRvcy8iIGNsYXNzPSJjY3Mtc21hbGwtYnV0dG9uIj5RdWljayBIb3ctVG9zPC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hpY2FybC5haS9jYXJsLWluLTUtbWludXRlcy10aGUtZXNzZW50aWFsLXRvdXIvIiBjbGFzcz0iY2NzLXNtYWxsLWJ1dHRvbiI+NS1NaW51dGUgVG91cjwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtZ3VpZGUtY2FyZCBjY3MtZ3VpZGUtY2FyZC1jb21wYXNzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1ndWlkZS1raWNrZXIiPkNvbXBhc3MgZ3VpZGVzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtZ3VpZGUtdGl0bGUiPlRyYWNraW5nIGN1cnJpY3VsdW0gY292ZXJhZ2U/PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtZ3VpZGUtY29weSI+CiAgICAgICAgICAgIFVzZSB0aGUgQ29tcGFzcyBndWlkZXMgZm9yIGNsYXNzZXMgYW5kIHN1YmplY3RzLCBBZGQgUGxhbiwgUXVpY2sgTG9nLCBTbWFydCBTY2FuLCBQbGFuIElkZWFzLCByZXBvcnRzLCBhbmQgcHJpdmFjeSBxdWVzdGlvbnMuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1ndWlkZS1saW5rcyI+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGljYXJsLmFpL2NvbXBhc3MtcXVpY2stZ3VpZGVzLyIgY2xhc3M9ImNjcy1zbWFsbC1idXR0b24iPlF1aWNrIEd1aWRlczwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9oaWNhcmwuYWkvY29tcGFzcy1mdWxsLWd1aWRlcy8iIGNsYXNzPSJjY3Mtc21hbGwtYnV0dG9uIj5GdWxsIEd1aWRlczwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9oaWNhcmwuYWkvY29tcGFzcy8iIGNsYXNzPSJjY3Mtc21hbGwtYnV0dG9uIj5Db21wYXNzIE92ZXJ2aWV3PC9hPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvc2VjdGlvbj4KCiAgICAgIDxzZWN0aW9uIGNsYXNzPSJjY3MtY29udGFjdC1zaGVsbCIgYXJpYS1sYWJlbD0iQ29udGFjdCBzdXBwb3J0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtY29udGFjdC1oZWFkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1zZWN0aW9uLWtpY2tlciI+U3RpbGwgbmVlZCBoZWxwPzwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2NzLXNlY3Rpb24tdGl0bGUiPlNlbmQgdXMgYSBtZXNzYWdlPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3Mtc2VjdGlvbi1jb3B5Ij5DaG9vc2UgdGhlIGZvcm0gdGhhdCBiZXN0IG1hdGNoZXMgd2hhdCB5b3UgbmVlZC4gTm90IHN1cmU/IFVzZSBHZXQgSGVscCBhbmQgd2XigJlsbCByb3V0ZSBpdCBmcm9tIHRoZXJlLjwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy10YWItcm93IiByb2xlPSJ0YWJsaXN0IiBhcmlhLWxhYmVsPSJTdXBwb3J0IGZvcm0gb3B0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iY2NzLXRhYi1oZWxwIiBjbGFzcz0iY2NzLXRhYiIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIiBhcmlhLWNvbnRyb2xzPSJjY3MtcGFuZWwtaGVscCIgZGF0YS1zdXBwb3J0LXRhYj0iaGVscCI+R2V0IEhlbHA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJjY3MtdGFiLWlzc3VlIiBjbGFzcz0iY2NzLXRhYiIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iY2NzLXBhbmVsLWlzc3VlIiBkYXRhLXN1cHBvcnQtdGFiPSJpc3N1ZSI+UmVwb3J0IGFuIElzc3VlPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iY2NzLXRhYi1yZXF1ZXN0IiBjbGFzcz0iY2NzLXRhYiIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iY2NzLXBhbmVsLXJlcXVlc3QiIGRhdGEtc3VwcG9ydC10YWI9InJlcXVlc3QiPlN1Ym1pdCBhIFJlcXVlc3Q8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9ImNjcy1tb2JpbGUtaGludCI+VGhlIHNlbGVjdGVkIGZvcm0gYXBwZWFycyBiZWxvdy48L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNjcy1mb3JtLWFyZWEiPgogICAgICAgICAgPGRpdiBpZD0iY2NzLXBhbmVsLWhlbHAiIGNsYXNzPSJjY3MtcGFuZWwgY2NzLXBhbmVsLWFjdGl2ZSIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0iY2NzLXRhYi1oZWxwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2NzLXBhbmVsLXRpcCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2NzLXBhbmVsLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PHBhdGggZD0iTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIj48L3BhdGg+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNyIgcj0iMC41IiBmaWxsPSIjNTlDOUUxIj48L2NpcmNsZT48L3N2Zz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2NzLXBhbmVsLXRpdGxlIj5IZWxwZnVsIGRldGFpbHM8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1wYW5lbC1jb3B5Ij5UZWxsIHVzIHdoZXRoZXIgeW914oCZcmUgdXNpbmcgQ0FSTCwgQ29tcGFzcywgb3IgYm90aCwgYW5kIHdoZXJlIHlvdSBnb3Qgc3R1Y2suIExpbmtzLCBzY3JlZW5zaG90cywgbGVzc29uIGRldGFpbHMsIGNsYXNzIHNldHVwIGRldGFpbHMsIG9yIHRoZSBndWlkZSB5b3Ugd2VyZSB1c2luZyBjYW4gaGVscCB1cyByZXNwb25kIGZhc3Rlci48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxpZnJhbWUgY2xhc3M9ImNjcy1pZnJhbWUiIHNyYz0iaHR0cHM6Ly90YWxseS5zby9lbWJlZC85cUVZcjQ/YWxpZ25MZWZ0PTEmaGlkZVRpdGxlPTEmdHJhbnNwYXJlbnRCYWNrZ3JvdW5kPTEiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9Ijk4MCIgZnJhbWVib3JkZXI9IjAiIG1hcmdpbmhlaWdodD0iMCIgbWFyZ2lud2lkdGg9IjAiIHRpdGxlPSJHZXQgSGVscCIgbG9hZGluZz0ibGF6eSI+PC9pZnJhbWU+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGlkPSJjY3MtcGFuZWwtaXNzdWUiIGNsYXNzPSJjY3MtcGFuZWwiIHJvbGU9InRhYnBhbmVsIiBhcmlhLWxhYmVsbGVkYnk9ImNjcy10YWItaXNzdWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtcGFuZWwtdGlwIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtcGFuZWwtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjQ4LDEzMSwxMjEsMC4xNCkhaW1wb3J0YW50OyI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9InN0cm9rZTojRjg4Mzc5IWltcG9ydGFudDsiPjxwYXRoIGQ9Ik0xMC4yOSAzLjg2TDEuODIgMThhMiAyIDAgMCAwIDEuNzEgM2gxNi45NGEyIDIgMCAwIDAgMS43MS0zTDEzLjcxIDMuODZhMiAyIDAgMCAwLTMuNDIgMHoiPjwvcGF0aD48bGluZSB4MT0iMTIiIHkxPSI5IiB4Mj0iMTIiIHkyPSIxMyI+PC9saW5lPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTciIHI9IjAuNSIgZmlsbD0iI0Y4ODM3OSI+PC9jaXJjbGU+PC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1wYW5lbC10aXRsZSI+SGVscGZ1bCBkZXRhaWxzPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjY3MtcGFuZWwtY29weSI+SW5jbHVkZSB3aGljaCBwcm9kdWN0IHlvdSB3ZXJlIHVzaW5nLCB3aGF0IHlvdSB3ZXJlIHRyeWluZyB0byBkbywgd2hhdCBoYXBwZW5lZCwgd2hhdCB5b3UgZXhwZWN0ZWQgdG8gaGFwcGVuLCBhbmQgdGhlIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdC4gQSBzY3JlZW5zaG90IGlzIGV4dHJlbWVseSBoZWxwZnVsLjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGlmcmFtZSBjbGFzcz0iY2NzLWlmcmFtZSIgc3JjPSJodHRwczovL3RhbGx5LnNvL2VtYmVkL3hYUDc4ZD9hbGlnbkxlZnQ9MSZoaWRlVGl0bGU9MSZ0cmFuc3BhcmVudEJhY2tncm91bmQ9MSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTIyMCIgZnJhbWVib3JkZXI9IjAiIG1hcmdpbmhlaWdodD0iMCIgbWFyZ2lud2lkdGg9IjAiIHRpdGxlPSJSZXBvcnQgYW4gSXNzdWUiIGxvYWRpbmc9ImxhenkiPjwvaWZyYW1lPgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBpZD0iY2NzLXBhbmVsLXJlcXVlc3QiIGNsYXNzPSJjY3MtcGFuZWwiIHJvbGU9InRhYnBhbmVsIiBhcmlhLWxhYmVsbGVkYnk9ImNjcy10YWItcmVxdWVzdCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1wYW5lbC10aXAiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1wYW5lbC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgxNjgsMjI0LDk5LDAuMTYpIWltcG9ydGFudDsiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0eWxlPSJzdHJva2U6I0E4RTA2MyFpbXBvcnRhbnQ7Ij48cG9seWdvbiBwb2ludHM9IjEyIDIgMTUuMDkgOC4yNiAyMiA5LjI3IDE3IDE0LjE0IDE4LjE4IDIxLjAyIDEyIDE3Ljc3IDUuODIgMjEuMDIgNyAxNC4xNCAyIDkuMjcgOC45MSA4LjI2IDEyIDIiPjwvcG9seWdvbj48L3N2Zz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2NzLXBhbmVsLXRpdGxlIj5IZWxwZnVsIGRldGFpbHM8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNjcy1wYW5lbC1jb3B5Ij5TaGFyZSB0aGUgdHlwZSBvZiBDQVJMIG9yIENvbXBhc3MgdGVtcGxhdGUsIGZlYXR1cmUsIHJlc291cmNlLCBvciBndWlkZSB5b3XigJlkIGxpa2UgdG8gc2VlLiBDbGFzc3Jvb20gY29udGV4dCwgZ3JhZGUgbGV2ZWwsIHN1YmplY3QgYXJlYSwgY3VycmljdWx1bS9wcm92aW5jZSwgYW5kIGV4YW1wbGVzIGhlbHAgdXMgcHJpb3JpdGl6ZSB1c2VmdWwgaW1wcm92ZW1lbnRzLjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGlmcmFtZSBjbGFzcz0iY2NzLWlmcmFtZSIgc3JjPSJodHRwczovL3RhbGx5LnNvL2VtYmVkL1h4TTdQTD9hbGlnbkxlZnQ9MSZoaWRlVGl0bGU9MSZ0cmFuc3BhcmVudEJhY2tncm91bmQ9MSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTI4MCIgZnJhbWVib3JkZXI9IjAiIG1hcmdpbmhlaWdodD0iMCIgbWFyZ2lud2lkdGg9IjAiIHRpdGxlPSJTdWJtaXQgYSBSZXF1ZXN0IiBsb2FkaW5nPSJsYXp5Ij48L2lmcmFtZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uICgpIHsKICB2YXIgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jYy1zdXBwb3J0LXNpbXBsZScpOwogIGlmICghcm9vdCkgcmV0dXJuOwoKICB2YXIgdGFicyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJvb3QucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc3VwcG9ydC10YWJdJykpOwogIHZhciBwYW5lbHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jY3MtcGFuZWwnKSk7CgogIGZ1bmN0aW9uIGFjdGl2YXRlU3VwcG9ydFRhYihuYW1lLCBzaG91bGRTY3JvbGwpIHsKICAgIHZhciBhY3RpdmVUYWIgPSByb290LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXN1cHBvcnQtdGFiPSInICsgbmFtZSArICciXScpOwogICAgdmFyIGFjdGl2ZVBhbmVsID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcjY2NzLXBhbmVsLScgKyBuYW1lKTsKICAgIGlmICghYWN0aXZlVGFiIHx8ICFhY3RpdmVQYW5lbCkgcmV0dXJuOwoKICAgIHJvb3Quc2V0QXR0cmlidXRlKCdkYXRhLXN1cHBvcnQtYWN0aXZlJywgbmFtZSk7CgogICAgdGFicy5mb3JFYWNoKGZ1bmN0aW9uICh0YWIpIHsKICAgICAgdmFyIGlzQWN0aXZlID0gdGFiID09PSBhY3RpdmVUYWI7CiAgICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBpc0FjdGl2ZSA/ICd0cnVlJyA6ICdmYWxzZScpOwogICAgICB0YWIuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIGlzQWN0aXZlID8gJzAnIDogJy0xJyk7CiAgICB9KTsKCiAgICBwYW5lbHMuZm9yRWFjaChmdW5jdGlvbiAocGFuZWwpIHsKICAgICAgcGFuZWwuY2xhc3NMaXN0LnRvZ2dsZSgnY2NzLXBhbmVsLWFjdGl2ZScsIHBhbmVsID09PSBhY3RpdmVQYW5lbCk7CiAgICB9KTsKCiAgICBpZiAoc2hvdWxkU2Nyb2xsICYmIHdpbmRvdy5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiA5ODBweCknKS5tYXRjaGVzKSB7CiAgICAgIHZhciBmb3JtQXJlYSA9IHJvb3QucXVlcnlTZWxlY3RvcignLmNjcy1mb3JtLWFyZWEnKTsKICAgICAgaWYgKGZvcm1BcmVhKSBmb3JtQXJlYS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7CiAgICB9CiAgfQoKICB0YWJzLmZvckVhY2goZnVuY3Rpb24gKHRhYiwgaW5kZXgpIHsKICAgIHRhYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgYWN0aXZhdGVTdXBwb3J0VGFiKHRhYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3VwcG9ydC10YWInKSwgdHJ1ZSk7CiAgICB9KTsKCiAgICB0YWIuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uIChldmVudCkgewogICAgICB2YXIgbmV4dEluZGV4ID0gbnVsbDsKICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIG5leHRJbmRleCA9IChpbmRleCArIDEpICUgdGFicy5sZW5ndGg7CiAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSBuZXh0SW5kZXggPSAoaW5kZXggLSAxICsgdGFicy5sZW5ndGgpICUgdGFicy5sZW5ndGg7CiAgICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykgbmV4dEluZGV4ID0gMDsKICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VuZCcpIG5leHRJbmRleCA9IHRhYnMubGVuZ3RoIC0gMTsKICAgICAgaWYgKG5leHRJbmRleCAhPT0gbnVsbCkgewogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdGFic1tuZXh0SW5kZXhdLmZvY3VzKCk7CiAgICAgICAgYWN0aXZhdGVTdXBwb3J0VGFiKHRhYnNbbmV4dEluZGV4XS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3VwcG9ydC10YWInKSwgZmFsc2UpOwogICAgICB9CiAgICB9KTsKICB9KTsKCiAgYWN0aXZhdGVTdXBwb3J0VGFiKCdoZWxwJywgZmFsc2UpOwp9KSgpOwo8L3NjcmlwdD4K[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]