[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″ content_visibility=”” 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″ 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=”” 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=”no” border_position=”all”][fusion_code admin_label=”” render_logics=””]PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+R3VpZGluZyBHcm93dGgg4oCUIFRoZSB3b3JrZm9yY2UsIHRyYWluaW5nLCBhbmQgY3VsdHVyZSBwbGF0Zm9ybSBidWlsdCBmb3IgYXNzaXN0ZWQgbGl2aW5nPC90aXRsZT4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1GcmF1bmNlczppdGFsLG9wc3osd2dodEAwLDkuLjE0NCw0MDA7MCw5Li4xNDQsNTAwOzAsOS4uMTQ0LDYwMDswLDkuLjE0NCw3MDA7MSw5Li4xNDQsNTAwJmZhbWlseT1Nb250c2VycmF0OndnaHRANTAwOzYwMDs3MDA7ODAwJmZhbWlseT1PcGVuK1NhbnM6d2dodEA0MDA7NTAwOzYwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxzdHlsZT4KICA6cm9vdHsKICAgIC0tZ3JlZW46IzUzOUI0QjsKICAgIC0tZ3JlZW4tMjojNjlCNDYxOwogICAgLS1ncmVlbi1pbms6IzNCN0EzNDsKICAgIC0tZ29sZDojRjNBNjFEOwogICAgLS1pbms6IzFmMmEyNDsKICAgIC0tc2xhdGU6IzQ3NTQ0ZTsKICAgIC0tbGluZTojZTRlOWU1OwogICAgLS1wYXBlcjojZmZmZGY5OwogICAgLS1taXN0OiNmNWY4ZjU7CiAgICAtLW1pc3QtMjojZWVmM2VlOwogICAgLS1jcmVhbTojZmFmNmVjOwogICAgLS1yYWRpdXM6MTZweDsKICAgIC0tcmFkaXVzLXNtOjEycHg7CiAgICAtLW1heHc6MTE0MHB4OwogICAgLS1zaGFkb3ctc206MCAxcHggMnB4IHJnYmEoMzEsNDIsMzYsLjA0KSwgMCAzcHggMTBweCByZ2JhKDMxLDQyLDM2LC4wNCk7CiAgICAtLXNoYWRvdy1tZDowIDRweCAxNHB4IHJnYmEoMzEsNDIsMzYsLjA2KSwgMCAxNHB4IDMycHggcmdiYSgzMSw0MiwzNiwuMDkpOwogICAgLS1lYXNlOmN1YmljLWJlemllciguNCwwLC4yLDEpOwogICAgLS10Oi4yMnM7CiAgfQogICp7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjowO3BhZGRpbmc6MH0KICBodG1se3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9CiAgYm9keXsKICAgIGZvbnQtZmFtaWx5OidPcGVuIFNhbnMnLHN5c3RlbS11aSxzYW5zLXNlcmlmOwogICAgY29sb3I6dmFyKC0taW5rKTsKICAgIGJhY2tncm91bmQ6dmFyKC0tcGFwZXIpOwogICAgbGluZS1oZWlnaHQ6MS42NTsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7CiAgICB0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7CiAgfQogIGgxLGgye2ZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7Zm9udC1vcHRpY2FsLXNpemluZzphdXRvO2ZvbnQtd2VpZ2h0OjYwMDt9CiAgaDMsaDQsLmV5ZWJyb3d7Zm9udC1mYW1pbHk6J01vbnRzZXJyYXQnLHNhbnMtc2VyaWY7fQogIC53cmFwe21heC13aWR0aDp2YXIoLS1tYXh3KTttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyOHB4O30KICAuZXllYnJvd3sKICAgIGZvbnQtc2l6ZTouNzRyZW07Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICAgIGNvbG9yOnZhcigtLWdyZWVuLWluayk7bWFyZ2luLWJvdHRvbToxNnB4OwogIH0KICBzZWN0aW9ue3BhZGRpbmc6OTZweCAwO30KICBhOmZvY3VzLXZpc2libGV7b3V0bGluZTozcHggc29saWQgdmFyKC0tZ3JlZW4tMik7b3V0bGluZS1vZmZzZXQ6M3B4O2JvcmRlci1yYWRpdXM6NHB4O30KCiAgLyogQlVUVE9OUyAqLwogIC5idG57CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOwogICAgZm9udC1mYW1pbHk6J01vbnRzZXJyYXQnLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTouOTVyZW07bGluZS1oZWlnaHQ6MTsKICAgIG1pbi1oZWlnaHQ6NTBweDtwYWRkaW5nOjE0cHggMzJweDtib3JkZXItcmFkaXVzOjk5OXB4O3RleHQtZGVjb3JhdGlvbjpub25lOwogICAgY3Vyc29yOnBvaW50ZXI7Ym9yZGVyOm5vbmU7CiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10KSB2YXIoLS1lYXNlKSwgYm94LXNoYWRvdyB2YXIoLS10KSB2YXIoLS1lYXNlKSwKICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10KSB2YXIoLS1lYXNlKSwgY29sb3IgdmFyKC0tdCkgdmFyKC0tZWFzZSk7CiAgfQogIC5idG46Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCB2YXIoLS1ncmVlbi0yKTtvdXRsaW5lLW9mZnNldDozcHg7fQogIC5idG46YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC45OCk7fQogIC5idG4tcHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWdyZWVuKTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoODMsMTU1LDc1LC4yNSksIDAgNnB4IDE2cHggcmdiYSg4MywxNTUsNzUsLjIpO30KICAuYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZDojNGE4YzQzO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JveC1zaGFkb3c6MCA0cHggMTBweCByZ2JhKDgzLDE1NSw3NSwuMjgpLCAwIDEycHggMjZweCByZ2JhKDgzLDE1NSw3NSwuMjYpO30KICAuYnRuLWdob3N0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tZ3JlZW4taW5rKTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWdyZWVuKTtwYWRkaW5nOjEycHggMzBweDt9CiAgLmJ0bi1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWdyZWVuKTtjb2xvcjojZmZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JveC1zaGFkb3c6MCA2cHggMTZweCByZ2JhKDgzLDE1NSw3NSwuMjIpO30KCiAgLyogSEVSTyAqLwogIC5oZXJve2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1taXN0KSAwJSwjZmZmIDEwMCUpO3BhZGRpbmc6ODRweCAwIDEwMHB4O30KICAuaGVyby1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4wNWZyIC45NWZyO2dhcDo2NHB4O2FsaWduLWl0ZW1zOmNlbnRlcjt9CiAgLmhlcm8gaDF7Zm9udC1zaXplOmNsYW1wKDIuN3JlbSw1LjZ2dywzLjdyZW0pO2xpbmUtaGVpZ2h0OjEuMDQ7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDJlbTttYXJnaW4tYm90dG9tOjI0cHg7fQogIC5oZXJvIGgxIC5hY2NlbnR7Y29sb3I6dmFyKC0tZ3JlZW4pO2ZvbnQtc3R5bGU6aXRhbGljO30KICAuaGVybyBwLmxlYWR7Zm9udC1zaXplOjEuMTlyZW07bGluZS1oZWlnaHQ6MS43O2NvbG9yOnZhcigtLXNsYXRlKTttYXgtd2lkdGg6MzZjaDttYXJnaW4tYm90dG9tOjM2cHg7fQogIC5oZXJvLWN0YXN7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O2ZsZXgtd3JhcDp3cmFwO30KICAuaGVyby1wcm9vZnttYXJnaW4tdG9wOjM0cHg7Zm9udC1zaXplOi45cmVtO2NvbG9yOnZhcigtLXNsYXRlKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21heC13aWR0aDo0OGNoO30KICAuaGVyby1wcm9vZiAuZG90e3dpZHRoOjdweDtoZWlnaHQ6N3B4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tZ3JlZW4tMik7ZmxleDowIDAgYXV0bzt9CiAgLmhlcm8tdmlzdWFsewogICAgYm9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpO21pbi1oZWlnaHQ6NDAwcHg7CiAgICBiYWNrZ3JvdW5kOgogICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAyNSUscmdiYSgxMDUsMTgwLDk3LC4xOCksdHJhbnNwYXJlbnQgNTUlKSwKICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywjZWFmM2U4LCNkZmVlZGUpOwogICAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47CiAgICBib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSk7CiAgfQogIC5oZXJvLXZpc3VhbCAuZGVjb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouNTt9CiAgLmhlcm8tdmlzdWFsIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtkaXNwbGF5OmJsb2NrO3otaW5kZXg6MTt9CiAgLmhlcm8tdmlzdWFsIGltZzpub3QoW3NyY10pLC5oZXJvLXZpc3VhbCBpbWdbc3JjPSIiXXtkaXNwbGF5Om5vbmU7fQoKICAvKiBTRUNUSU9OIEhFQURJTkdTICovCiAgLnNlYy1oZWFke21heC13aWR0aDo3MjBweDttYXJnaW4tYm90dG9tOjU2cHg7fQogIC5zZWMtaGVhZC5jZW50ZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjt9CiAgLnNlYy1oZWFkIGgye2ZvbnQtc2l6ZTpjbGFtcCgxLjhyZW0sM3Z3LDIuM3JlbSk7bGluZS1oZWlnaHQ6MS4xMjtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LS4wMmVtO30KICAjd2hhdC15b3UtZ2V0IC5zZWMtaGVhZCBoMntmb250LXNpemU6Y2xhbXAoMS44cmVtLDN2dywyLjNyZW0pO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAyZW07fQogICN3aGF0LXlvdS1nZXQgLnNlYy1oZWFkIHB7Zm9udC1zaXplOi45NXJlbTt9CiAgLnNlYy1oZWFkIHB7Y29sb3I6dmFyKC0tc2xhdGUpO2ZvbnQtc2l6ZToxLjA2cmVtO21hcmdpbi10b3A6MTZweDt9CgogIC8qIEMtQy1DIEZSQU1FV09SSyAqLwogIC5mcmFtZXdvcmt7YmFja2dyb3VuZDp2YXIoLS1taXN0KTt9CiAgLnRyaWFke2ZvbnQtZmFtaWx5OidNb250c2VycmF0JyxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MS4xOHJlbTtsaW5lLWhlaWdodDoxLjc1OwogICAgY29sb3I6dmFyKC0tc2xhdGUpO21hcmdpbi1ib3R0b206MjBweDt9CiAgLnRyaWFkIGJ7Y29sb3I6dmFyKC0tZ3JlZW4taW5rKTtmb250LXdlaWdodDo4MDA7fQogIC5jY2MtZmxvd3ttYXgtd2lkdGg6NjQwcHg7bWFyZ2luOjAgYXV0byA1MnB4O30KICAuY2NjLWZsb3cgc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87ZGlzcGxheTpibG9jazt9CiAgLmNjYy1mbG93IC5zdGVwLWxhYmVse2ZvbnQtZmFtaWx5OidNb250c2VycmF0Jztmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOi45MnJlbTtmaWxsOnZhcigtLWdyZWVuLWluayk7fQogIC5jY2MtZmxvdyAuc3RlcC1sYWJlbC5nb2xke2ZpbGw6I2I5N2ExMjt9CiAgLmNjYy1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MjRweDt9CiAgLmNjYy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKTtwYWRkaW5nOjM2cHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKTsKICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgdmFyKC0tZWFzZSksIGJveC1zaGFkb3cgLjI1cyB2YXIoLS1lYXNlKSwgYm9yZGVyLWNvbG9yIC4yNXMgdmFyKC0tZWFzZSk7fQogIC5jY2MtY2FyZDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1tZCk7Ym9yZGVyLWNvbG9yOiNjZmUwY2M7fQogIC5jY2MtY2FyZCAubHZse2ZvbnQtZmFtaWx5OidNb250c2VycmF0Jztmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTJlbTsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojZmZmO2JhY2tncm91bmQ6dmFyKC0tZ3JlZW4pO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo2cHggMTRweDtkaXNwbGF5OmlubGluZS1ibG9jazt9CiAgLyogRklYOiBhbGwgcGlsbHMgd2hpdGUgdGV4dCAqLwogIC5jY2MtY2FyZDpudGgtY2hpbGQoMikgLmx2bHtiYWNrZ3JvdW5kOnZhcigtLWdyZWVuLTIpO2NvbG9yOiNmZmY7fQogIC5jY2MtY2FyZDpudGgtY2hpbGQoMykgLmx2bHtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOiNmZmY7fQogIC5jY2MtY2FyZCBoM3tmb250LXNpemU6MS4zcmVtO21hcmdpbjoxOHB4IDAgNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotLjAxZW07fQogIC5jY2MtY2FyZCAucm9sZXtmb250LXNpemU6LjhyZW07Y29sb3I6dmFyKC0tc2xhdGUpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDdlbTtmb250LXdlaWdodDo2MDA7bWFyZ2luLWJvdHRvbToxNnB4O30KICAuY2NjLWNhcmQgcHtmb250LXNpemU6Ljk1cmVtO2NvbG9yOnZhcigtLXNsYXRlKTt9CgogIC8qIFBST09GIFNUUklQICovCiAgLnByb29me2JhY2tncm91bmQ6I2ZmZjt9CiAgLnByb29mLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpO2dhcDoyNHB4O30KICAucHJvb2YtaXRlbXt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjI4cHggMjBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKTsKICAgIGJhY2tncm91bmQ6dmFyKC0tbWlzdCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyB2YXIoLS1lYXNlKSwgYm94LXNoYWRvdyAuMjVzIHZhcigtLWVhc2UpO30KICAucHJvb2YtaXRlbTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSk7fQogIC5wcm9vZi1pdGVtIC5udW17Zm9udC1mYW1pbHk6J01vbnRzZXJyYXQnO2ZvbnQtd2VpZ2h0OjgwMDtjb2xvcjp2YXIoLS1ncmVlbi1pbmspO2ZvbnQtc2l6ZToxLjVyZW07CiAgICBsaW5lLWhlaWdodDoxLjE7bWFyZ2luLWJvdHRvbTo4cHg7bGV0dGVyLXNwYWNpbmc6LS4wMWVtO30KICAucHJvb2YtaXRlbSAubGJse2ZvbnQtc2l6ZTouOXJlbTtjb2xvcjp2YXIoLS1zbGF0ZSk7fQoKICAvKiBXSEFUIFlPVSBHRVQgKi8KICAucGlsbGFyc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjI0cHg7fQogIC5waWxsYXJ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyk7cGFkZGluZzozNHB4IDI4cHg7YmFja2dyb3VuZDojZmZmOwogICAgYm94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pOwogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyB2YXIoLS1lYXNlKSwgYm94LXNoYWRvdyAuMjVzIHZhcigtLWVhc2UpLCBib3JkZXItY29sb3IgLjI1cyB2YXIoLS1lYXNlKTt9CiAgLnBpbGxhcjpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1tZCk7Ym9yZGVyLWNvbG9yOiNjZmUwY2M7fQogIC5waWxsYXIgLmlje3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tbWlzdC0yKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyOwogICAganVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjE4cHg7Zm9udC1zaXplOjEuNHJlbTt9CiAgLnBpbGxhciBoNHtmb250LXNpemU6MS4xMnJlbTtmb250LXdlaWdodDo3MDA7bWFyZ2luLWJvdHRvbToxMHB4O2xldHRlci1zcGFjaW5nOi0uMDFlbTt9CiAgLnBpbGxhciB1bHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLXRvcDoxNHB4O30KICAucGlsbGFyIGxpe2ZvbnQtc2l6ZTouOXJlbTtjb2xvcjp2YXIoLS1zbGF0ZSk7cGFkZGluZy1sZWZ0OjIycHg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbTo5cHg7fQogIC5waWxsYXIgbGk6OmJlZm9yZXtjb250ZW50OiLinJMiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtjb2xvcjp2YXIoLS1ncmVlbi1pbmspO2ZvbnQtd2VpZ2h0OjcwMDt9CgogIC8qIERJRkZFUkVOVElBVE9SIC8gU0hPV0NBU0UgKi8KICAuc2hvd2Nhc2V7YmFja2dyb3VuZDp2YXIoLS1taXN0KTt9CiAgLnNob3djYXNlLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo1NnB4O2FsaWduLWl0ZW1zOmNlbnRlcjt9CiAgLnNob3djYXNlLWdyaWQuZmxpcHtkaXJlY3Rpb246cnRsfQogIC5zaG93Y2FzZS1ncmlkLmZsaXA+KntkaXJlY3Rpb246bHRyfQogIC5zaG93Y2FzZS1ncmlkIGgze2ZvbnQtc2l6ZToxLjdyZW07Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi0uMDFlbTttYXJnaW4tYm90dG9tOjE2cHg7fQogIC5zaG93Y2FzZS1ncmlkIHB7Y29sb3I6dmFyKC0tc2xhdGUpO21hcmdpbi1ib3R0b206MThweDt9CiAgLnNob3djYXNlLWdyaWQgdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbi10b3A6OHB4fQogIC5zaG93Y2FzZS1ncmlkIGxpe3BhZGRpbmctbGVmdDoyNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206MTJweDtjb2xvcjp2YXIoLS1zbGF0ZSk7Zm9udC1zaXplOi45N3JlbTt9CiAgLnNob3djYXNlLWdyaWQgbGk6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6OXB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czozcHg7YmFja2dyb3VuZDp2YXIoLS1ncmVlbi0yKTt9CiAgLnNob3R7bWluLWhlaWdodDozNDBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTsKICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmZmLCNlZWY0ZWQpO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjsKICAgIGJveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKTt9CiAgLnNob3Q6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5Oi41OwogICAgYmFja2dyb3VuZC1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAzMCUsIHJnYmEoODMsMTU1LDc1LC4xMCkgMCwgdHJhbnNwYXJlbnQgNDAlKSwKICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4MCUgNzUlLCByZ2JhKDI0MywxNjYsMjksLjEwKSAwLCB0cmFuc3BhcmVudCA0MiUpOwogIH0KICAuc2hvdCBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7ZGlzcGxheTpibG9jazt6LWluZGV4OjE7fQogIC5zaG90IGltZzpub3QoW3NyY10pLC5zaG90IGltZ1tzcmM9IiJde2Rpc3BsYXk6bm9uZTt9CgogIC8qIFNUQVQgU1RSSVAgKi8KICAuc3RhdHtiYWNrZ3JvdW5kOnZhcigtLWdyZWVuKTtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NzZweCAwO30KICAuc3RhdCBoMntmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojZmZmO2ZvbnQtc2l6ZTpjbGFtcCgxLjhyZW0sM3Z3LDIuM3JlbSk7bWF4LXdpZHRoOjg0MHB4O21hcmdpbjowIGF1dG87bGluZS1oZWlnaHQ6MS4xODtsZXR0ZXItc3BhY2luZzotLjAyZW07fQogIC5zdGF0IHB7bWFyZ2luLXRvcDoxNnB4O2NvbG9yOiNlNWYyZTM7Zm9udC1zaXplOjEuMDVyZW07bWF4LXdpZHRoOjc2MHB4O21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87fQoKICAvKiBURVNUSU1PTklBTCAqLwogIC5xdW90ZS13cmFwe21heC13aWR0aDo4MjBweDttYXJnaW46MCBhdXRvO3RleHQtYWxpZ246Y2VudGVyO30KICAucXVvdGUtbWFya3tmb250LWZhbWlseTonTW9udHNlcnJhdCc7Zm9udC1zaXplOjMuNHJlbTtjb2xvcjp2YXIoLS1ncmVlbi0yKTtsaW5lLWhlaWdodDouNTttYXJnaW4tYm90dG9tOjE0cHg7fQogIGJsb2NrcXVvdGUuZ2ctcXVvdGV7CiAgICBmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXN0eWxlOml0YWxpYyAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOmNsYW1wKDEuMTVyZW0sMnZ3LDEuNHJlbSkgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OjQwMCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50OwogICAgbGV0dGVyLXNwYWNpbmc6MCAhaW1wb3J0YW50OwogICAgY29sb3I6dmFyKC0tc2xhdGUpICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOnZhcigtLW1pc3QtMikgIWltcG9ydGFudDsKICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7CiAgICBib3JkZXItbGVmdDo0cHggc29saWQgdmFyKC0tZ3JlZW4pICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOjAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pIDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6MzJweCA0MHB4ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46MCAhaW1wb3J0YW50OwogICAgdGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7CiAgICBxdW90ZXM6bm9uZSAhaW1wb3J0YW50OwogIH0KICBibG9ja3F1b3RlLmdnLXF1b3RlOjpiZWZvcmUsCiAgYmxvY2txdW90ZS5nZy1xdW90ZTo6YWZ0ZXJ7Y29udGVudDpub25lICFpbXBvcnRhbnQ7fQogIC5hdHRyaWJ7bWFyZ2luLXRvcDozMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTRweDt9CiAgLmF0dHJpYiAuYXZ7d2lkdGg6NTJweDtoZWlnaHQ6NTJweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLW1pc3QtMik7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTsKICAgIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LWZhbWlseTonTW9udHNlcnJhdCc7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWdyZWVuLWluayk7fQogIC5hdHRyaWIgLndob3t0ZXh0LWFsaWduOmxlZnR9CiAgLmF0dHJpYiAud2hvIGJ7Zm9udC1mYW1pbHk6J01vbnRzZXJyYXQnO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjFyZW07fQogIC5hdHRyaWIgLndobyBzcGFue2ZvbnQtc2l6ZTouODVyZW07Y29sb3I6dmFyKC0tc2xhdGUpO30KCiAgLyogR0FMTEVSWSAqLwogIC5nYWxsZXJ5e3BhZGRpbmc6MDt9CiAgLmdhbGxlcnktZ3JpZHsKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpOwogICAgZ2FwOjA7CiAgICB3aWR0aDoxMDAlOwogIH0KICAuZ2FsbGVyeS1pdGVtewogICAgYXNwZWN0LXJhdGlvOjEgLyAxOwogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgYmFja2dyb3VuZDp2YXIoLS1taXN0KTsKICB9CiAgLmdhbGxlcnktaXRlbSBpbWd7CiAgICB3aWR0aDoxMDAlOwogICAgaGVpZ2h0OjEwMCU7CiAgICBvYmplY3QtZml0OmNvdmVyOwogICAgZGlzcGxheTpibG9jazsKICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7CiAgICB1c2VyLXNlbGVjdDpub25lOwogICAgLXdlYmtpdC11c2VyLWRyYWc6bm9uZTsKICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC41cyB2YXIoLS1lYXNlKTsKICB9CiAgLmdhbGxlcnktaXRlbTpob3ZlciBpbWd7dHJhbnNmb3JtOnNjYWxlKDEuMDYpO30KICBzZWN0aW9uW2lkXXtzY3JvbGwtbWFyZ2luLXRvcDoyNHB4O30KCiAgLyogQ09OVEFDVCAqLwogIC5jb250YWN0e2JhY2tncm91bmQ6dmFyKC0tbWlzdCk7fQogIC5jb250YWN0LWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo1NnB4O2FsaWduLWl0ZW1zOnN0YXJ0O30KICAuY29udGFjdCBoMntmb250LXNpemU6Y2xhbXAoMS44cmVtLDN2dywyLjNyZW0pO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAyZW07bWFyZ2luLWJvdHRvbToxNHB4O30KICAuY29udGFjdCAuc3Vie2NvbG9yOnZhcigtLXNsYXRlKTtmb250LXNpemU6MS4wNXJlbTttYXJnaW4tYm90dG9tOjMwcHg7bWF4LXdpZHRoOjQ0Y2g7fQogIC5jb250YWN0LWluZm97bGlzdC1zdHlsZTpub25lO30KICAuY29udGFjdC1pbmZvIGxpe21hcmdpbi1ib3R0b206MThweDtkaXNwbGF5OmZsZXg7Z2FwOjEycHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmb250LXNpemU6Ljk3cmVtO2NvbG9yOnZhcigtLXNsYXRlKTt9CiAgLyogRklYOiBTVkcgaWNvbiB3cmFwcGVyICovCiAgLmNvbnRhY3QtaW5mbyAuaWN7CiAgICBmbGV4OjAgMCBhdXRvOwogICAgd2lkdGg6MjJweDsKICAgIGhlaWdodDoyMnB4OwogICAgZGlzcGxheTpmbGV4OwogICAgYWxpZ24taXRlbXM6Y2VudGVyOwogICAganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICAgIGNvbG9yOnZhcigtLWdyZWVuLWluayk7CiAgICBtYXJnaW4tdG9wOjFweDsKICB9CiAgLmNvbnRhY3QtaW5mbyAuaWMgc3ZnewogICAgd2lkdGg6MThweDsKICAgIGhlaWdodDoxOHB4OwogICAgc3Ryb2tlOnZhcigtLWdyZWVuLWluayk7CiAgICBmaWxsOm5vbmU7CiAgICBzdHJva2Utd2lkdGg6MjsKICAgIHN0cm9rZS1saW5lY2FwOnJvdW5kOwogICAgc3Ryb2tlLWxpbmVqb2luOnJvdW5kOwogIH0KICAuY29udGFjdC1pbmZvIGF7Y29sb3I6dmFyKC0tc2xhdGUpO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246Y29sb3IgdmFyKC0tdCkgdmFyKC0tZWFzZSk7fQogIC5jb250YWN0LWluZm8gYTpob3Zlcntjb2xvcjp2YXIoLS1ncmVlbi1pbmspO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQogIC5mb3Jte2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKTtwYWRkaW5nOjM2cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pO30KICAuZm9ybSBsYWJlbHtmb250LWZhbWlseTonTW9udHNlcnJhdCc7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA1ZW07CiAgICBjb2xvcjp2YXIoLS1zbGF0ZSk7ZGlzcGxheTpibG9jazttYXJnaW46MThweCAwIDhweDt9CiAgLmZvcm0gbGFiZWw6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfQogIC5mb3JtIGlucHV0LC5mb3JtIHNlbGVjdCwuZm9ybSB0ZXh0YXJlYXsKICAgIHdpZHRoOjEwMCU7cGFkZGluZzoxM3B4IDE2cHg7Ym9yZGVyOjFweCBzb2xpZCAjZDdkZmQ4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LWZhbWlseTonT3BlbiBTYW5zJztmb250LXNpemU6Ljk1cmVtOwogICAgYmFja2dyb3VuZDojZmZmO2NvbG9yOnZhcigtLWluayk7CiAgICB0cmFuc2l0aW9uOmJvcmRlci1jb2xvciB2YXIoLS10KSB2YXIoLS1lYXNlKSwgYm94LXNoYWRvdyB2YXIoLS10KSB2YXIoLS1lYXNlKTt9CiAgLmZvcm0gaW5wdXQ6aG92ZXIsLmZvcm0gc2VsZWN0OmhvdmVyLC5mb3JtIHRleHRhcmVhOmhvdmVye2JvcmRlci1jb2xvcjojYjljOGJiO30KICAuZm9ybSBpbnB1dDpmb2N1cywuZm9ybSBzZWxlY3Q6Zm9jdXMsLmZvcm0gdGV4dGFyZWE6Zm9jdXN7CiAgICBvdXRsaW5lOm5vbmU7Ym9yZGVyLWNvbG9yOnZhcigtLWdyZWVuKTtib3gtc2hhZG93OjAgMCAwIDRweCByZ2JhKDgzLDE1NSw3NSwuMTUpO30KICAuZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIsLmZvcm0gdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiM4YTk3OGY7fQogIC5mb3JtIC5idG57bWFyZ2luLXRvcDoyNHB4O3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7fQogIC5mb3JtIC5ocy1ub3Rle2ZvbnQtc2l6ZTouNzJyZW07Y29sb3I6dmFyKC0tc2xhdGUpO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi10b3A6MTRweDt9CgogIC8qIFNDUk9MTCBSRVZFQUwgKi8KICAucmV2ZWFse29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxOHB4KTsKICAgIHRyYW5zaXRpb246b3BhY2l0eSAuNTVzIHZhcigtLWVhc2UpLCB0cmFuc2Zvcm0gLjU1cyB2YXIoLS1lYXNlKTt9CiAgLnJldmVhbC5pbntvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7fQoKICAvKiBSRVNQT05TSVZFICovCiAgQG1lZGlhKG1heC13aWR0aDo4NjBweCl7CiAgICBzZWN0aW9ue3BhZGRpbmc6NjRweCAwO30KICAgIC5oZXJve3BhZGRpbmc6NTJweCAwIDY0cHg7fQogICAgLmhlcm8tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDo0MHB4O30KICAgIC5zZWMtaGVhZHttYXJnaW4tYm90dG9tOjQwcHg7fQogICAgLmNjYy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQogICAgLnByb29mLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE2cHg7fQogICAgLnBpbGxhcnN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9CiAgICAuc2hvd2Nhc2UtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDozMnB4O30KICAgIC5zaG93Y2FzZS1ncmlkLmZsaXB7ZGlyZWN0aW9uOmx0cjt9CiAgICAuY29udGFjdC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjM2cHg7fQogICAgLmhlcm8tY3RhcyAuYnRue2ZsZXg6MSAxIGF1dG87fQogICAgLmdhbGxlcnktZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTt9CiAgfQoKICAvKiBSRURVQ0VEIE1PVElPTiAqLwogIEBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7CiAgICBodG1se3Njcm9sbC1iZWhhdmlvcjphdXRvO30KICAgICosKjo6YmVmb3JlLCo6OmFmdGVye3RyYW5zaXRpb24tZHVyYXRpb246LjAxbXMhaW1wb3J0YW50O2FuaW1hdGlvbi1kdXJhdGlvbjouMDFtcyFpbXBvcnRhbnQ7fQogICAgLnJldmVhbHtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7fQogIH0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KCjxtYWluPgoKPCEtLSBIRVJPIC0tPgo8c2VjdGlvbiBjbGFzcz0iaGVybyIgaWQ9InRvcCI+CiAgPGRpdiBjbGFzcz0id3JhcCBoZXJvLWdyaWQiPgogICAgPGRpdj4KICAgICAgPGRpdiBjbGFzcz0iZXllYnJvdyI+QnVpbHQgZXhjbHVzaXZlbHkgZm9yIGFzc2lzdGVkIGxpdmluZzwvZGl2PgogICAgICA8aDE+SGFwcHkgZW1wbG95ZWVzLjxicj48c3BhbiBjbGFzcz0iYWNjZW50Ij5CZXR0ZXIgY2FyZS48L3NwYW4+PC9oMT4KICAgICAgPHAgY2xhc3M9ImxlYWQiPlR1cm5vdmVyIGlzIHRoZSBtb3N0IGV4cGVuc2l2ZSwgYW5kIG1vc3Qgc29sdmFibGUsIHByb2JsZW0gaW4gYXNzaXN0ZWQgbGl2aW5nLiBHdWlkaW5nIEdyb3d0aCBzb2x2ZXMgaXQgYXQgdGhlIHNvdXJjZSB3aXRoIGFsbC1zdGFmZiB0cmFpbmluZywgc3VwcG9ydCwgYW5kIGN1bHR1cmUsIGZvciBldmVyeSByb2xlIGZyb20gY2xpbmljYWwgdG8gZGlldGFyeSwgaG91c2VrZWVwaW5nIHRvIHRoZSBmcm9udCBkZXNrLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iaGVyby1jdGFzIj4KICAgICAgICA8YSBocmVmPSIjY29udGFjdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+Q29udGFjdCBVczwvYT4KICAgICAgICA8YSBocmVmPSIjZnJhbWV3b3JrIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCI+U2VlIGhvdyBpdCB3b3JrczwvYT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imhlcm8tcHJvb2YiPjxzcGFuIGNsYXNzPSJkb3QiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+IEJ1aWx0LCBkZXBsb3llZCwgYW5kIGluIHlvdXIgdGVhbSdzIGhhbmRzIHRvZGF5LiBJbiBwYXJ0bmVyc2hpcCB3aXRoIHRoZSBVdGFoIEFzc2lzdGVkIExpdmluZyBBc3NvY2lhdGlvbi48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iaGVyby12aXN1YWwiPgogICAgICA8c3ZnIGNsYXNzPSJkZWNvIiB2aWV3Qm94PSIwIDAgNTAwIDQwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgIDxwYXRoIGQ9Ik0tMjAgMzgwIEMgOTAgMzgwLCA5MCAzMDAsIDE4MCAzMDAgUyAyNzAgMjIwLCAzNDAgMjIwIFMgNDIwIDEyMCwgNTIwIDEyMCIgc3Ryb2tlPSIjNjlCNDYxIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiIG9wYWNpdHk9Ii41Ii8+CiAgICAgICAgPGNpcmNsZSBjeD0iMTgwIiBjeT0iMzAwIiByPSI2IiBmaWxsPSIjRjNBNjFEIi8+CiAgICAgICAgPGNpcmNsZSBjeD0iMzQwIiBjeT0iMjIwIiByPSI2IiBmaWxsPSIjNTM5QjRCIi8+CiAgICAgICAgPGNpcmNsZSBjeD0iNDcwIiBjeT0iMTQwIiByPSI3IiBmaWxsPSIjM0I3QTM0Ii8+CiAgICAgIDwvc3ZnPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9nZ3MuY2FyZS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9nZ3MtY2FyZS1oZXJvLndlYnAiIGFsdD0iR3VpZGluZyBHcm93dGggdGVhbSBhbmQgcGxhdGZvcm0iPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gRlJBTUVXT1JLIC0tPgo8c2VjdGlvbiBjbGFzcz0iZnJhbWV3b3JrIiBpZD0iZnJhbWV3b3JrIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlYy1oZWFkIGNlbnRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImV5ZWJyb3ciPlRocmVlIGxldmVscywgaW4gdGhhdCBvcmRlciwgYnkgZGVzaWduPC9kaXY+CiAgICAgIDxoMj5PdXIgRnJhbWV3b3JrLjwvaDI+CiAgICAgIDxwPlBlb3BsZSBkb24ndCBsZWF2ZSBiZWNhdXNlIHRoZXkncmUgdW50cmFpbmVkLiBUaGV5IGxlYXZlIGJlY2F1c2UgdGhleSdyZSB1bnN1cHBvcnRlZC4gQ29tcGxpYW5jZSBpcyB0aGUgZmxvb3IuIFdoYXQga2VlcHMgeW91ciB3aG9sZSB0ZWFtLCBjbGluaWNhbCBhbmQgc3VwcG9ydCBzdGFmZiBhbGlrZSwgaXMgYmVsb25naW5nLCByZWNvZ25pdGlvbiwgYW5kIGdyb3d0aC48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNjYy1mbG93IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgIDxzdmcgdmlld0JveD0iMCAwIDY0MCAxNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgPHBhdGggZD0iTTIwIDExNSBDIDEzMCAxMTUsIDEzMCA3NSwgMjQwIDc1IFMgMzUwIDQwLCA0MjAgNDAgUyA1MDAgMTUsIDYyMCAxNSIgc3Ryb2tlPSIjY2ZlMGNjIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiLz4KICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjExNSIgcj0iOCIgZmlsbD0iIzUzOUI0QiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjI0MCIgY3k9Ijc1IiByPSI4IiBmaWxsPSIjNjlCNDYxIi8+CiAgICAgICAgPGNpcmNsZSBjeD0iNjIwIiBjeT0iMTUiIHI9IjgiIGZpbGw9IiNGM0E2MUQiLz4KICAgICAgICA8dGV4dCB4PSI0NSIgeT0iMTQwIiB0ZXh0LWFuY2hvcj0ic3RhcnQiIGNsYXNzPSJzdGVwLWxhYmVsIj5Db21wbGlhbmNlPC90ZXh0PgogICAgICAgIDx0ZXh0IHg9IjI0MCIgeT0iMTAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBjbGFzcz0ic3RlcC1sYWJlbCI+Q29ubmVjdGlvbjwvdGV4dD4KICAgICAgICA8dGV4dCB4PSI1ODAiIHk9IjQyIiB0ZXh0LWFuY2hvcj0iZW5kIiBjbGFzcz0ic3RlcC1sYWJlbCBnb2xkIj5DdWx0dXJlPC90ZXh0PgogICAgICA8L3N2Zz4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2NjLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJjY2MtY2FyZCI+CiAgICAgICAgPHNwYW4gY2xhc3M9Imx2bCI+TGV2ZWwgMTwvc3Bhbj4KICAgICAgICA8aDM+Q29tcGxpYW5jZTwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0icm9sZSI+Q29yZSBjb21wZXRlbmN5ICYgb25ib2FyZGluZzwvZGl2PgogICAgICAgIDxwPkEgMjQtbW9kdWxlIG9yaWVudGF0aW9uLCBhIHByaW50ZWQgQ29yZSBDb21wZXRlbmN5IFdvcmtib29rLCAz4oCTMTAgbWludXRlIG1vYmlsZSBtaWNyby1sZWFybmluZywgYSAzMC1kYXkgYXR0ZXN0YXRpb24sIGFuZCBBSSBhc3Npc3RhbnRzIGZvciB0aGUgam9iLCB3ZWxsbmVzcywgYW5kIGxlYWRlcnNoaXAuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2NjLWNhcmQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJsdmwiPkxldmVsIDI8L3NwYW4+CiAgICAgICAgPGgzPkNvbm5lY3Rpb248L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InJvbGUiPk9uZ29pbmcgZW5nYWdlbWVudCAmIGN1bHR1cmU8L2Rpdj4KICAgICAgICA8cD5Nb250aGx5IGFsbC1zdGFmZiBtZWV0aW5nIGd1aWRlcyBhbmQgYWN0aXZpdGllcyB0aGF0IHdhbGsgbGVhZGVyc2hpcCB0aHJvdWdoIGV4YWN0bHkgd2hhdCBhIGdyZWF0IGFsbC1zdGFmZiBtZWV0aW5nIGxvb2tzIGxpa2UsIGEgMTYtY291cnNlIHBlcnNvbmFsIHJlc2lsaWVuY3kgY3VycmljdWx1bSwgcmVjb2duaXRpb24gYW5kIGVuZ2FnZW1lbnQgdG9vbHMsIGFuZCBhIDMwLXNlY29uZCBkYWlseSB3ZWxsbmVzcyBjaGVjay1pbiB3aXRoIHRyZW5kIHJlcG9ydGluZy48L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjY2MtY2FyZCI+CiAgICAgICAgPHNwYW4gY2xhc3M9Imx2bCI+TGV2ZWwgMzwvc3Bhbj4KICAgICAgICA8aDM+Q3VsdHVyZTwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0icm9sZSI+Q2xpbmljYWwgJiBsZWFkZXJzaGlwIGRldmVsb3BtZW50PC9kaXY+CiAgICAgICAgPHA+Q0VVLXN1cHBvcnRpdmUgUk4vTFBOIGNvbnRlbnQsIHRoZSBDT0FDSCBjaGVjay1pbiBhbmQgcmV2aWV3IGZyYW1ld29yaywgbGVhZGVyc2hpcCBkZXZlbG9wbWVudCBmb3IgRURzLCBET05zLCBhbmQgY2hhcmdlIG51cnNlcywgYW5kIHBvc3Qtc3VydmV5IGNvcnJlY3RpdmUgc3VwcG9ydC48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gV0hBVCBZT1UgR0VUIC0tPgo8c2VjdGlvbiBjbGFzcz0id2hhdC15b3UtZ2V0IiBpZD0id2hhdC15b3UtZ2V0Ij4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlYy1oZWFkIj4KICAgICAgPGRpdiBjbGFzcz0iZXllYnJvdyI+Q29tcGxpYW5jZSBoYW5kbGVkLiBDdWx0dXJlIGJ1aWx0LiBQZW9wbGUgd2hvIHN0YXkuPC9kaXY+CiAgICAgIDxoMj5XaGF0IHlvdSBnZXQuPC9oMj4KICAgICAgPHA+QWxsLXN0YWZmIG9uYm9hcmRpbmcgYW5kIGNvcmUgY29tcGV0ZW5jaWVzIGJ1aWx0IHNwZWNpZmljYWxseSBmb3IgYXNzaXN0ZWQgbGl2aW5nLCBmb3IgZXZlcnkgcm9sZSBpbiB0aGUgYnVpbGRpbmcsIHdpdGggdGhlIGRvY3VtZW50YXRpb24gc3VydmV5b3JzIGxvb2sgZm9yIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGFzIHlvdXIgdGVhbSBjb21wbGV0ZXMgaXQuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwaWxsYXJzIj4KICAgICAgPGRpdiBjbGFzcz0icGlsbGFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpYyIgYXJpYS1oaWRkZW49InRydWUiPvCfk4s8L2Rpdj4KICAgICAgICA8aDQ+TWVldHMgdGhlIHN0YW5kYXJkPC9oND4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+U3RhdGUtYXBwcm92ZWQgb3JpZW50YXRpb24gYmVmb3JlIHdvcmtpbmcgaW5kZXBlbmRlbnRseTwvbGk+CiAgICAgICAgICA8bGk+UmVzaWRlbnQgcmlnaHRzLCBhYnVzZSAmIG5lZ2xlY3QgcmVwb3J0aW5nPC9saT4KICAgICAgICAgIDxsaT5EZW1lbnRpYSBjYXJlLCBmYWNpbGl0eSBwb2xpY2llcywgc2FmZXR5PC9saT4KICAgICAgICAgIDxsaT5NZWRpY2F0aW9uIHNlbGYtYWRtaW5pc3RyYXRpb24gYXNzaXN0YW5jZTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBpbGxhciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaWMiIGFyaWEtaGlkZGVuPSJ0cnVlIj7wn5eC77iPPC9kaXY+CiAgICAgICAgPGg0PkRvY3VtZW50ZWQgZm9yIHN1cnZleTwvaDQ+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPlNpZ25lZCwgZHVhbC1zaWduYXR1cmUgY29tcGV0ZW5jeSByZWNvcmRzPC9saT4KICAgICAgICAgIDxsaT5EYXRlZCBlbXBsb3llZSB0aWVkIHRvIG5hbWVkIGNvbXBldGVuY3k8L2xpPgogICAgICAgICAgPGxpPkFueSByZWNvcmQgcmV0cmlldmFibGUgaW4gdW5kZXIgNSBtaW51dGVzPC9saT4KICAgICAgICAgIDxsaT5OZXctaGlyZSB3b3JrYm9va3MgZm9yIHRoZSBwcmludGVkIHRyYWlsPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGlsbGFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpYyIgYXJpYS1oaWRkZW49InRydWUiPvCfkpo8L2Rpdj4KICAgICAgICA8aDQ+S2VlcHMgeW91ciBwZW9wbGU8L2g0PgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5MaXZlIGh1bWFuIHN1cHBvcnQgb24gdGhlIGhhcmQgZGF5czwvbGk+CiAgICAgICAgICA8bGk+TW9udGhseSBhbGwtc3RhZmYgbWVldGluZyBndWlkZXMgJiBhY3Rpdml0aWVzPC9saT4KICAgICAgICAgIDxsaT4zMC1zZWNvbmQgZGFpbHkgd2VsbG5lc3MgY2hlY2staW5zPC9saT4KICAgICAgICAgIDxsaT5SZWNvZ25pdGlvbiB0aGF0IG1ha2VzIGV2ZXJ5IHJvbGUgZmVlbCBzZWVuPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIERJRkZFUkVOVElBVE9SOiBXT1JLQk9PSyAtLT4KPHNlY3Rpb24gY2xhc3M9InNob3djYXNlIiBpZD0ib3VyLXRvb2xzIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlYy1oZWFkIj4KICAgICAgPGRpdiBjbGFzcz0iZXllYnJvdyI+VGhlIG1hdGVyaWFscyB0aGF0IG1ha2UgaXQgcmVhbDwvZGl2PgogICAgICA8aDI+T3VyIFRvb2xzLjwvaDI+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNob3djYXNlLWdyaWQiPgogICAgICA8ZGl2PgogICAgICAgIDxoMz5UaGUgQ29yZSBDb21wZXRlbmN5IFdvcmtib29rPC9oMz4KICAgICAgICA8cD5BIGJlYXV0aWZ1bGx5IGRlc2lnbmVkLCBwcmludC1yZWFkeSB3b3JrYm9vayB0aGF0IGdpdmVzIGV2ZXJ5IG5ldyBoaXJlIGluIGV2ZXJ5IHJvbGUgYSBjbGVhciBwYXRoLCBhbmQgZ2l2ZXMgeW91ciBmYWNpbGl0eSB0aGUgZG9jdW1lbnRlZCB0cmFpbCBzdXJ2ZXlvcnMgd2FudCB0byBzZWUuPC9wPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5Sb2xlLWJhc2VkIGNvbXBldGVuY2llcyBtYXBwZWQgdG8gcmVxdWlyZW1lbnRzPC9saT4KICAgICAgICAgIDxsaT5EdWFsLXNpZ25hdHVyZSBhdHRlc3RhdGlvbiBidWlsdCBpbjwvbGk+CiAgICAgICAgICA8bGk+RGVzaWduZWQgdG8gYmUgdXNlZCwgbm90IGZpbGVkIGF3YXk8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzaG90Ij4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9nZ3MuY2FyZS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9Ob3ZlbC1Cb29rLU1vY2t1cC53ZWJwIiBhbHQ9IlRoZSBwcmludGVkIENvcmUgQ29tcGV0ZW5jeSBXb3JrYm9vayI+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gRElGRkVSRU5USUFUT1I6IFRIRSBBUFAgLS0+CjxzZWN0aW9uPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2hvd2Nhc2UtZ3JpZCBmbGlwIj4KICAgICAgPGRpdj4KICAgICAgICA8aDM+VGhlIGFwcDwvaDM+CiAgICAgICAgPHA+VHJhaW5pbmcgYW5kIHN1cHBvcnQgaW4gZXZlcnkgZW1wbG95ZWUncyBwb2NrZXQsIHdoYXRldmVyIHRoZWlyIHJvbGUuIEJ1aWx0IG1vYmlsZS1maXJzdCBmb3IgYSB3b3JrZm9yY2UgdGhhdCBpc24ndCBzaXR0aW5nIGF0IGEgZGVzay48L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPk1pY3JvLWxlYXJuaW5nIGluIDPigJMxMCBtaW51dGUgbGVzc29ucywgYnVpbHQgdG8gZmluaXNoIGJldHdlZW4gcm91bmRzPC9saT4KICAgICAgICAgIDxsaT5Db250ZXh0LWF3YXJlIEFJIGFzc2lzdGFudHMgZm9yIHRoZSBqb2IsIHdlbGxuZXNzLCBhbmQgbGVhZGVyc2hpcCwgYXZhaWxhYmxlIDI0LzcgaW4gdGhlIGFwcDwvbGk+CiAgICAgICAgICA8bGk+TGl2ZSBDYXJlIENlbnRlciBzdXBwb3J0IG9uIHRoZSBoYXJkIGRheXM8L2xpPgogICAgICAgICAgPGxpPldvcmtzIGZvciBldmVyeSByb2xlLCBmcm9tIGNsaW5pY2FsIHRvIGRpZXRhcnkgdG8gaG91c2VrZWVwaW5nPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2hvdCI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vZ2dzLmNhcmUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvaVBob25lLU1vYmlsZS1raXQud2VicCIgYWx0PSJHdWlkaW5nIEdyb3d0aCBhcHAgc2NyZWVuc2hvdHMiPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIERJRkZFUkVOVElBVE9SOiBFTVBMT1lFRSBFTkdBR0VNRU5UIFRPT0xTIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2hvd2Nhc2UiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2hvd2Nhc2UtZ3JpZCI+CiAgICAgIDxkaXY+CiAgICAgICAgPGgzPkVtcGxveWVlIGVuZ2FnZW1lbnQgdG9vbHM8L2gzPgogICAgICAgIDxwPlRoZSBwaWVjZXMgdGhhdCB0dXJuIGEgY29tcGxpYW50IGZhY2lsaXR5IGludG8gYSBwbGFjZSBwZW9wbGUgd2FudCB0byBzdGF5LCBkZXNpZ25lZCB0byByZWFjaCBhbmQgcmVjb2duaXplIHlvdXIgZW50aXJlIHRlYW0sIG5vdCBqdXN0IHRoZSBjbGluaWNhbCBmbG9vci48L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPk1vbnRobHkgYWxsLXN0YWZmIG1lZXRpbmcgZ3VpZGVzICYgYWN0aXZpdGllcywgd2l0aCBhIHdhbGt0aHJvdWdoIG9mIHdoYXQgYSBncmVhdCBhbGwtc3RhZmYgbWVldGluZyBsb29rcyBsaWtlPC9saT4KICAgICAgICAgIDxsaT4zMC1zZWNvbmQgZGFpbHkgd2VsbG5lc3MgY2hlY2staW4gKHRoZSBkYWlseSBnYXVnZSkgd2l0aCB0cmVuZCByZXBvcnRpbmcgdGhhdCBmbGFncyBzdHJhaW4gZWFybHk8L2xpPgogICAgICAgICAgPGxpPlJlY29nbml0aW9uIHRvb2xzIHRoYXQgbWFrZSBldmVyeSByb2xlIGZlZWwgc2VlbjwvbGk+CiAgICAgICAgICA8bGk+MTYtY291cnNlIHBlcnNvbmFsIHJlc2lsaWVuY3kgY3VycmljdWx1bTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNob3QiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL2dncy5jYXJlL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3L0VtcGxveWVlLWVuZ2FnZW1lbnQtdG9vbC5qcGciIGFsdD0iRW1wbG95ZWUgZW5nYWdlbWVudCB0b29scyI+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gUEFSVE5FUlNISVAgLyBTQ0FMRSBTVFJJUCAtLT4KPHNlY3Rpb24gY2xhc3M9InN0YXQiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGgyPk9uZSBjb25zaXN0ZW50IHN0YW5kYXJkIGFjcm9zcyB5b3VyIGVudGlyZSBwb3J0Zm9saW8uPC9oMj4KICAgIDxwPkJ1aWx0IGZvciBtdWx0aS1mYWNpbGl0eSBhc3Npc3RlZCBsaXZpbmcgZ3JvdXBzIGFuZCBzdGF0ZSBhc3NvY2lhdGlvbnMuIFdlIHByb3ZpZGUgdGhlIHBsYXRmb3JtIGFuZCB0aGUgY29udGVudDsgeW91IGdldCB0aGUgc2FtZSBvbmJvYXJkaW5nLCBjb21wbGlhbmNlLCBhbmQgY3VsdHVyZSBpbiBldmVyeSBidWlsZGluZywgbmF0aW9ud2lkZS48L3A+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gVEVTVElNT05JQUwgLS0+CjxzZWN0aW9uPgogIDxkaXYgY2xhc3M9IndyYXAgcXVvdGUtd3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJxdW90ZS1tYXJrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IjwvZGl2PgogICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdnLXF1b3RlIj5HdWlkaW5nIEdyb3d0aCBpcyB1bmlxdWVseSBwb3NpdGlvbmVkIHRvIHN1cHBvcnQgbG9uZy10ZXJtIGNhcmUgb3JnYW5pemF0aW9ucyBpbiBtZWV0aW5nIHN0YXRlLXJlcXVpcmVkIGNvbXBldGVuY2llcyB3aGlsZSBzaW11bHRhbmVvdXNseSBzdHJlbmd0aGVuaW5nIHdvcmtwbGFjZSBjdWx0dXJlLCBpbXByb3Zpbmcgc3RhZmYgcmV0ZW50aW9uLCBhbmQgZWxldmF0aW5nIHRoZSBxdWFsaXR5IG9mIHJlc2lkZW50IGNhcmUuPC9ibG9ja3F1b3RlPgogICAgPGRpdiBjbGFzcz0iYXR0cmliIj4KICAgICAgPGRpdiBjbGFzcz0iYXYiIGFyaWEtaGlkZGVuPSJ0cnVlIj5CVDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ3aG8iPjxiPkJldGhhbm55IFRheWxvcjwvYj48c3Bhbj5NU04sIE1IQSwgUk4gwrcgTnVyc2UgTGVhZGVyPC9zcGFuPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gQ09OVEFDVCAtLT4KPHNlY3Rpb24gY2xhc3M9ImNvbnRhY3QiIGlkPSJjb250YWN0Ij4KICA8ZGl2IGNsYXNzPSJ3cmFwIGNvbnRhY3QtZ3JpZCI+CiAgICA8ZGl2PgogICAgICA8ZGl2IGNsYXNzPSJleWVicm93Ij5HZXQgaW4gdG91Y2g8L2Rpdj4KICAgICAgPGgyPkxldCdzIHRhbGsuPC9oMj4KICAgICAgPHAgY2xhc3M9InN1YiI+VGVsbCB1cyBhYm91dCB5b3VyIGZhY2lsaXRpZXMgYW5kIHdlJ2xsIHNob3cgeW91IGV4YWN0bHkgaG93IEd1aWRpbmcgR3Jvd3RoIGZpdHMsIG9uIHlvdXIgdGVybXMsIGluIG9uZSBjb252ZXJzYXRpb24uPC9wPgogICAgICA8dWwgY2xhc3M9ImNvbnRhY3QtaW5mbyI+CiAgICAgICAgPGxpPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImljIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgIDwhLS0gbWFwIHBpbiAtLT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDJDOC4xMyAyIDUgNS4xMyA1IDljMCA1LjI1IDcgMTMgNyAxM3M3LTcuNzUgNy0xM2MwLTMuODctMy4xMy03LTctN3oiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjkiIHI9IjIuNSIvPjwvc3ZnPgogICAgICAgICAgPC9zcGFuPgogICAgICAgICAgMTIyNDQgQnVzaW5lc3MgUGFyayBEciAjMjQwLCBEcmFwZXIsIFVUIDg0MDIwCiAgICAgICAgPC9saT4KICAgICAgICA8bGk+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iaWMiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgPCEtLSBwaG9uZSAtLT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYuNiAxMC44YzEuNCAyLjggMy44IDUuMSA2LjYgNi42bDIuMi0yLjJjLjMtLjMuNy0uNCAxLS4yIDEuMS40IDIuMy42IDMuNi42LjYgMCAxIC40IDEgMVYyMGMwIC42LS40IDEtMSAxLTkuNCAwLTE3LTcuNi0xNy0xNyAwLS42LjQtMSAxLTFoMy41Yy42IDAgMSAuNCAxIDEgMCAxLjMuMiAyLjUuNiAzLjYuMS4zIDAgLjctLjIgMUw2LjYgMTAuOHoiLz48L3N2Zz4KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDxhIGhyZWY9InRlbDorMTg0NDQ0ODEyMDAiPig4NDQpIDQ0OC0xMjAwPC9hPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImljIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAgIDwhLS0gZW52ZWxvcGUgLS0+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHg9IjIiIHk9IjQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgcng9IjIiLz48cG9seWxpbmUgcG9pbnRzPSIyLDQgMTIsMTMgMjIsNCIvPjwvc3ZnPgogICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmluZm9AZ2dzLmNhcmUiPmluZm9AZ2dzLmNhcmU8L2E+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iaWMiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgPCEtLSBjbG9jayAtLT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cG9seWxpbmUgcG9pbnRzPSIxMiw2IDEyLDEyIDE2LDE0Ii8+PC9zdmc+CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICBPcGVuIMK3IENsb3NlcyA1IFBNCiAgICAgICAgPC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9ybSI+CiAgICAgIDxsYWJlbCBmb3I9ImYtbmFtZSI+TmFtZSA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICA8aW5wdXQgaWQ9ImYtbmFtZSIgbmFtZT0ibmFtZSIgdHlwZT0idGV4dCIgYXV0b2NvbXBsZXRlPSJuYW1lIiBwbGFjZWhvbGRlcj0iWW91ciBuYW1lIiByZXF1aXJlZD4KICAgICAgPGxhYmVsIGZvcj0iZi1lbWFpbCI+RW1haWwgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPio8L3NwYW4+PC9sYWJlbD4KICAgICAgPGlucHV0IGlkPSJmLWVtYWlsIiBuYW1lPSJlbWFpbCIgdHlwZT0iZW1haWwiIGF1dG9jb21wbGV0ZT0iZW1haWwiIHBsYWNlaG9sZGVyPSJ5b3VAY29tcGFueS5jb20iIHJlcXVpcmVkPgogICAgICA8bGFiZWwgZm9yPSJmLW9yZyI+T3JnYW5pemF0aW9uPC9sYWJlbD4KICAgICAgPGlucHV0IGlkPSJmLW9yZyIgbmFtZT0ib3JnYW5pemF0aW9uIiB0eXBlPSJ0ZXh0IiBhdXRvY29tcGxldGU9Im9yZ2FuaXphdGlvbiIgcGxhY2Vob2xkZXI9IllvdXIgY29tcGFueSBvciBmYWNpbGl0eSBncm91cCI+CiAgICAgIDxsYWJlbCBmb3I9ImYtbXNnIj5NZXNzYWdlPC9sYWJlbD4KICAgICAgPHRleHRhcmVhIGlkPSJmLW1zZyIgbmFtZT0ibWVzc2FnZSIgcm93cz0iMyIgcGxhY2Vob2xkZXI9IlRlbGwgdXMgYSBsaXR0bGUgYWJvdXQgeW91ciB0ZWFtIj48L3RleHRhcmVhPgogICAgICA8YSBocmVmPSIjIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij5TZW5kIG1lc3NhZ2U8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSBHQUxMRVJZIC0tPgo8c2VjdGlvbiBjbGFzcz0iZ2FsbGVyeSIgaWQ9ImdhbGxlcnkiPgogIDxkaXYgY2xhc3M9ImdhbGxlcnktZ3JpZCI+CiAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPjxpbWcgc3JjPSJodHRwczovL2dncy5jYXJlL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3L2d1aWRpbmctZ3Jvd3RoLTEud2VicCIgYWx0PSJHYWxsZXJ5IGltYWdlIDEiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ2FsbGVyeS1pdGVtIj48aW1nIHNyYz0iaHR0cHM6Ly9nZ3MuY2FyZS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9ndWlkaW5nLWdyb3d0aC0yLndlYnAiIGFsdD0iR2FsbGVyeSBpbWFnZSAyIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+PGltZyBzcmM9Imh0dHBzOi8vZ2dzLmNhcmUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvZ3VpZGluZy1ncm93dGgtMy53ZWJwIiBhbHQ9IkdhbGxlcnkgaW1hZ2UgMyI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPjxpbWcgc3JjPSJodHRwczovL2dncy5jYXJlL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3L2d1aWRpbmctZ3Jvd3RoLTQud2VicCIgYWx0PSJHYWxsZXJ5IGltYWdlIDQiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ2FsbGVyeS1pdGVtIj48aW1nIHNyYz0iaHR0cHM6Ly9nZ3MuY2FyZS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9ndWlkaW5nLWdyb3d0aC01LndlYnAiIGFsdD0iR2FsbGVyeSBpbWFnZSA1Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImdhbGxlcnktaXRlbSI+PGltZyBzcmM9Imh0dHBzOi8vZ2dzLmNhcmUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvZ3VpZGluZy1ncm93dGgtNi53ZWJwIiBhbHQ9IkdhbGxlcnkgaW1hZ2UgNiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5LWl0ZW0iPjxpbWcgc3JjPSJodHRwczovL2dncy5jYXJlL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3L2d1aWRpbmctZ3Jvd3RoLTgud2VicCIgYWx0PSJHYWxsZXJ5IGltYWdlIDciPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ2FsbGVyeS1pdGVtIj48aW1nIHNyYz0iaHR0cHM6Ly9nZ3MuY2FyZS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9ndWlkaW5nLWdyb3d0aC03LndlYnAiIGFsdD0iR2FsbGVyeSBpbWFnZSA4Ij48L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPC9tYWluPgoKPHNjcmlwdD4KICAoZnVuY3Rpb24gKCkgewogICAgdmFyIHJlZHVjZSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM7CiAgICBpZiAocmVkdWNlIHx8ICEoJ0ludGVyc2VjdGlvbk9ic2VydmVyJyBpbiB3aW5kb3cpKSByZXR1cm47CgogICAgdmFyIHRhcmdldHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgICAnLnNlYy1oZWFkLCAuY2NjLWNhcmQsIC5waWxsYXIsIC5zaG93Y2FzZS1ncmlkID4gZGl2LCAucXVvdGUtd3JhcCwgLmNvbnRhY3QtZ3JpZCA+IGRpdiwgLnN0YXQgLndyYXAsIC50cmlhZCwgLmNjYy1mbG93JwogICAgKTsKICAgIHZhciBpbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbiAoZW50cmllcykgewogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24gKGVudHJ5KSB7CiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICBlbnRyeS50YXJnZXQuY2xhc3NMaXN0LmFkZCgnaW4nKTsKICAgICAgICAgIGlvLnVub2JzZXJ2ZShlbnRyeS50YXJnZXQpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LCB7IHRocmVzaG9sZDogMC4xMiwgcm9vdE1hcmdpbjogJzBweCAwcHggLTQwcHggMHB4JyB9KTsKCiAgICB0YXJnZXRzLmZvckVhY2goZnVuY3Rpb24gKGVsLCBpKSB7CiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ3JldmVhbCcpOwogICAgICB2YXIgc2libGluZ3MgPSBlbC5wYXJlbnRFbGVtZW50ID8gZWwucGFyZW50RWxlbWVudC5jaGlsZHJlbiA6IFtdOwogICAgICB2YXIgaWR4ID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChzaWJsaW5ncywgZWwpOwogICAgICBlbC5zdHlsZS50cmFuc2l0aW9uRGVsYXkgPSBNYXRoLm1pbihpZHggKiA3MCwgMjgwKSArICdtcyc7CiAgICAgIGlvLm9ic2VydmUoZWwpOwogICAgfSk7CiAgfSkoKTsKPC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4=[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]