Camel Case Generator

[fusion_builder_container background_color=”#ffffff” background_image=”” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_repeat=”no-repeat” background_position=”left top” video_url=”” video_aspect_ratio=”16:9″ video_webm=”” video_mp4=”” video_ogv=”” video_preview_image=”” overlay_color=”” overlay_opacity=”0.5″ video_mute=”yes” video_loop=”yes” fade=”no” border_size=”0px” border_color=”” border_style=”solid” padding_top=”0″ padding_bottom=”20″ padding_left=”0px” padding_right=”0px” hundred_percent=”yes” equal_height_columns=”no” hide_on_mobile=”no” menu_anchor=”” class=”” id=””][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_code]PGRpdiBjbGFzcz0icm93IGNlbnRlci1ibG9jayB1cHBlcmFkIj4NCiAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCAgIGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICA8IS0tIGNhcGl0YWxpemVob21lcGFnZSAtLT4NCiAgICAgICAgICAgICAgICAgICAgPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi0yODg4NTk2ODU2NzkyMTYxIg0KICAgICBkYXRhLWFkLXNsb3Q9IjE5NDc5Mzc5MzAiDQogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KICAgICAgICAgICAgICAgICAgICA8c2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAoYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgPC9kaXY+[/fusion_code][/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_code]PGxpbmsgaHJlZj0iaHR0cDovL2NhcGl0YWxpemVteXRpdGxlLmNvbS9zdHlsZS90YWJzLWZvcm0uY3NzIiByZWw9InN0eWxlc2hlZXQiPg0K[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container background_color=”#cccccc” background_image=”” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_repeat=”no-repeat” background_position=”left top” video_url=”” video_aspect_ratio=”16:9″ video_webm=”” video_mp4=”” video_ogv=”” video_preview_image=”” overlay_color=”” overlay_opacity=”0.5″ video_mute=”yes” video_loop=”yes” fade=”no” border_size=”0px” border_color=”” border_style=”solid” padding_top=”20″ padding_bottom=”20″ padding_left=”0px” padding_right=”0px” hundred_percent=”yes” equal_height_columns=”no” hide_on_mobile=”no” menu_anchor=”” class=”” id=””][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_code]PGRpdiAgaWQ9ImNhbWVsLWhlYWRlci1ibG9jayIgY2xhc3M9ImNlbnRlci1ibG9jayI+DQogICAgICAgICAgICA8ZGl2IGlkPSJjb250ZW50LWJsb2NrIiBjbGFzcz0iY2VudGVyLWJsb2NrIj4NCiAgICAgICAgICAgICAgICA8bm9zY3JpcHQ+PHN0eWxlPi50YWItYmxvY2sgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gPC9zdHlsZT48ZGl2IGNsYXNzPSJyb3cgY2VudGVyLWJsb2NrIiBzdHlsZT0iY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgZm9udC1zaXplOiAyNHB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBoZWlnaHQ6IDBweDsgcGFkZGluZzogMTAwcHggMHB4OyI+PHNwYW4gPkNhcGl0YWxpemUgTXkgVGl0bGUgcmVxdWlyZXMgSmF2YVNjcmlwdCB0byBiZSBlbmFibGVkIGluIG9yZGVyIHRvIHJ1bi4gUGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IGFuZCB2aXNpdCBhZ2FpbiE8L3NwYW4+PC9kaXY+PC9ub3NjcmlwdD4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbWVsLXRhYi1ibG9jayBjZW50ZXItYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJiYWJsZSBjdXN0b20tdGFicyBzbWFsbCBsaWdodCBmbGF0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdi10YWJzIGNhbWVsLXRhYnMiIGlkPSJzZWxlY3QtZm9ybWF0Ij4NCgkJCQkJCTxsaSBjbGFzcz0iYWN0aXZlIGZvcm1hdCIgaWQ9IkRlZmF1bHQiPjxhIGhyZWY9IiNEZWZhdWx0IiBkYXRhLXRvZ2dsZT0idGFiIiByZWw9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJib3R0b20iPkRlZmF1bHQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvcm1hdCIgaWQ9ImNhbWVsY2FzZSI+PGEgaHJlZj0iI2NhbWVsY2FzZSIgZGF0YS10b2dnbGU9InRhYiIgcmVsPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYm90dG9tIiB0aXRsZT0iQ2FtZWwgQ2FzZSI+Q2FtZWwgQ2FzZTwvYT48L2xpPg0KCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+DQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyB0ZXh0Ym94LXRvcCBjZW50ZXItYmxvY2siPg0KCQkJCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCB0aXRsZS1pbnB1dCBjZW50ZXItYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCgkJCQkJCQkJCQkJCTxsYWJlbCBmb3I9Im1haW5faW5wdXQiIGNsYXNzPSJjb250cm9sLWxhYmVsIGNhbWVsLWxhYmVsIj5JbnB1dDwvbGFiZWw+DQoJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQk8c3BhbiBpZD0iaW5wdXRib3giPjxpbnB1dCBpZD0ibWFpbl9pbnB1dCIgY2xhc3M9ImZvcm0tY29udHJvbCB0ZXh0ZW50cnkiIG5hbWU9Im1haW5faW5wdXQiIHZhbHVlPSIiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJUeXBlL1Bhc3RlIFlvdXIgVGl0bGUgVG8gQ2FtZWwgQ2FzZSBJdCI+PC9zcGFuPg0KCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY2VudGVyLWJsb2NrIGNhbWVsLXRvZ2dsZS1ibG9jayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBidG4tdG9nZ2xlIiBpZD0ic3ViLWZvcm1hdHMiPiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc20gYnRuLXdhcm5pbmcgY3VzdG9tLW9yYW5nZS1idG4gYWN0aXZlIiBpZD0idXBwZXJjYW1lbCI+VXBwZXIgQ2FtZWwgQ2FzZTwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zbSBidG4tZGVmYXVsdCIgaWQ9Imxvd2VyY2FtZWwiPkxvd2VyIENhbWVsIENhc2U8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc20gYnRuLWRlZmF1bHQiIGlkPSJwYXNjYWwiPlBhc2NhbCBDYXNlPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KCQkJCQkJCQ0KCQkJCQkJCTxkaXYgY2xhc3M9InJvdyB0ZXh0Ym94LXRvcCBjZW50ZXItYmxvY2siPg0KCQkJCQkJCQkJCTxhIGhyZWY9IiMiIGlkPSJjb3B5LWJ0biIgY2xhc3M9ImNvcHktYnRuIj5Db3B5PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIHRpdGxlLWlucHV0IGNlbnRlci1ibG9jayI+DQoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQkJCQk8bGFiZWwgZm9yPSJtYWluX291dHB1dCIgY2xhc3M9ImNvbnRyb2wtbGFiZWwgIGNhbWVsLWxhYmVsIj5PdXRwdXQ8L2xhYmVsPg0KPHNwYW4gaWQ9ImlucHV0Ym94Ij48aW5wdXQgaWQ9Im1haW5fb3V0cHV0IiBjbGFzcz0iZm9ybS1jb250cm9sIHRleHRlbnRyeSIgbmFtZT0ibWFpbl9vdXRwdXQiIHBsYWNlaG9sZGVyPSIiID48L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCgkJCQkJCQkNCgkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCjwvZGl2Pg0KICAgICAgICA8L2Rpdj4=[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container hundred_percent=”yes” overflow=”visible” margin_top=”20px” margin_bottom=”” background_color=”rgba(255,255,255,0)” padding_right=”0px” padding_left=”0px” ][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_separator style_type=”none” sep_color=”” border_size=”” icon=”” icon_circle=”” icon_circle_color=”” width=”” alignment=”center” class=”” id=””/][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container background_color=”” background_image=”” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_repeat=”no-repeat” background_position=”left top” video_url=”” video_aspect_ratio=”16:9″ video_webm=”” video_mp4=”” video_ogv=”” video_preview_image=”” overlay_color=”” overlay_opacity=”0.5″ video_mute=”yes” video_loop=”yes” fade=”no” border_size=”0px” border_color=”” border_style=”” padding_top=”20″ padding_bottom=”20″ padding_left=”” padding_right=”” hundred_percent=”no” equal_height_columns=”no” hide_on_mobile=”no” menu_anchor=”” class=”” id=””][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_title size=”1″ content_align=”left” style_type=”default” sep_color=”” margin_top=”” margin_bottom=”” class=”” id=””]CamelCase Generator[/fusion_title][fusion_separator style_type=”none” top_margin=”20px” bottom_margin=”” sep_color=”” border_size=”” icon=”” icon_circle=”” icon_circle_color=”” width=”” alignment=”center” class=”” id=””/][fusion_text]Camelcase is the practice of capitalizing the first letter of each word in a series and then removing spaces, numbers, underscores, hyphens, and other special characters. This leaves a concatenation of words that is combined into a single string with various letters capitalized throughout. Camel case is often used in programming using the lower camel case method where the first letter of the string is lowercased. Upper camel case, also known as pascal case, is the most common form in everyday usage while lower camel case is primarily used for programming.

 

 

camelcase

Basic Camel Case Capitalization Rules

  1. The first letter is capitalized.
  2. One or more letters in that word are also capitalised.
  3. The word does not end on a capitalized letter: CamelCasE
  4. No two capitalised letters shall follow directly each other: CamelCAse
  5. No number in that word at any place: CamelCase1more
  6. No dot(.), under_score or dash (-) within the word, only letters: Camel_Case
  7. No ‘foreign’ letters in it like äöüß or accentuated like áéí. CämélCáße

 

Camel Case Examples

Upper Camel Case

  • ThisIsAnExampleOfTheUpperCamelCaseForm
  • TheFirstLetterIsCapitalizedAndEachWordThroughoutIsAsWell
  • CamelCase

Lower Camel Case

  • theFirstLetterIsNotCapitalizedAndEachWordThroughoutIs
  • thereAreNoHyphensOrSpacesInThis
  • camelCase

 

 

More Info: Camel Case Rules[/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container hundred_percent=”yes” overflow=”visible” padding_right=”0px” padding_left=”0px” ][fusion_builder_row][fusion_builder_column type=”1_4″ last=”no” spacing=”yes” center_content=”no” hide_on_mobile=”no” background_color=”” background_image=”” background_repeat=”no-repeat” background_position=”left top” hover_type=”none” link=”” border_position=”all” border_size=”0px” border_color=”” border_style=”” padding=”” margin_top=”” margin_bottom=”” animation_type=”” animation_direction=”” animation_speed=”0.1″ animation_offset=”” class=”” id=””][/fusion_builder_column][fusion_builder_column type=”1_4″ last=”no” spacing=”yes” center_content=”no” hide_on_mobile=”no” background_color=”” background_image=”” background_repeat=”no-repeat” background_position=”left top” hover_type=”none” link=”” border_position=”all” border_size=”0px” border_color=”” border_style=”” padding=”” margin_top=”” margin_bottom=”” animation_type=”” animation_direction=”” animation_speed=”0.1″ animation_offset=”” class=”” id=””][fusion_code]PGRpdiBjbGFzcz0icm93IGNlbnRlci1ibG9jayBib3R0b20tYWQtcmVjdCI+DQo8c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiICA+PC9zY3JpcHQ+DQo8IS0tIGNhcGl0YWxpemVib3R0b21sZWZ0IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDozMzZweDtoZWlnaHQ6MjgwcHgiDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItMjg4ODU5Njg1Njc5MjE2MSINCiAgICAgZGF0YS1hZC1zbG90PSIyMjE0NDM4NzMyIj48L2lucz4NCjxzY3JpcHQgID4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4NCg0KPC9kaXY+[/fusion_code][/fusion_builder_column][fusion_builder_column type=”1_4″ last=”no” spacing=”yes” center_content=”no” hide_on_mobile=”no” background_color=”” background_image=”” background_repeat=”no-repeat” background_position=”left top” hover_type=”none” link=”” border_position=”all” border_size=”0px” border_color=”” border_style=”” padding=”” margin_top=”” margin_bottom=”” animation_type=”” animation_direction=”” animation_speed=”0.1″ animation_offset=”” class=”” id=””][fusion_code]PGRpdiBjbGFzcz0icm93IGNlbnRlci1ibG9jayBib3R0b20tYWQtcmVjdCIgPg0KPHNjcmlwdCAgIGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBjYXBpdGFsaXplYm90dG9tcmlnaHQgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjMzNnB4O2hlaWdodDoyODBweCINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi0yODg4NTk2ODU2NzkyMTYxIg0KICAgICBkYXRhLWFkLXNsb3Q9IjM1NTE1NzExMzciPjwvaW5zPg0KPHNjcmlwdCA+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+DQo8L2Rpdj4=[/fusion_code][/fusion_builder_column][fusion_builder_column type=”1_4″ last=”yes” spacing=”yes” center_content=”no” hide_on_mobile=”no” background_color=”” background_image=”” background_repeat=”no-repeat” background_position=”left top” hover_type=”none” link=”” border_position=”all” border_size=”0px” border_color=”” border_style=”” padding=”” margin_top=”” margin_bottom=”” animation_type=”” animation_direction=”” animation_speed=”0.1″ animation_offset=”” class=”” id=””][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container background_color=”” background_image=”” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_repeat=”no-repeat” background_position=”left top” video_url=”” video_aspect_ratio=”16:9″ video_webm=”” video_mp4=”” video_ogv=”” video_preview_image=”” overlay_color=”” overlay_opacity=”0.5″ video_mute=”yes” video_loop=”yes” fade=”no” border_size=”0px” border_color=”” border_style=”” padding_top=”20″ padding_bottom=”20″ padding_left=”” padding_right=”” hundred_percent=”no” equal_height_columns=”no” hide_on_mobile=”no” menu_anchor=”” class=”” id=””][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_code]PHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIiBzcmM9Imh0dHA6Ly9jYXBpdGFsaXplbXl0aXRsZS5jb20vanMvanF1ZXJ5LTEuMTIuMC5taW4uanMiID48L3NjcmlwdD4NCjxzY3JpcHQgZGF0YS1jZmFzeW5jPSJmYWxzZSIgc3JjPSJodHRwOi8vY2FwaXRhbGl6ZW15dGl0bGUuY29tL2Rpc3QvanMvYm9vdHN0cmFwLm1pbi5qcyIgPjwvc2NyaXB0Pg0KPHNjcmlwdCAgIHNyYz0iaHR0cDovL2NhcGl0YWxpemVteXRpdGxlLmNvbS9qcy90YWJzLWFkZG9uLm1pbi5qcyIgID48L3NjcmlwdD4NCjxzY3JpcHQgZGF0YS1jZmFzeW5jPSJmYWxzZSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9jYXBpdGFsaXplbXl0aXRsZS5jb20vanMvanF1ZXJ5LnpjbGlwLm1pbi5qcyIgID48L3NjcmlwdD4=[/fusion_code][/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_code]PHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIj4NCnZhciBhY3RpdmVfdGFiID0gJCgiI0RlZmF1bHQiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGFjdGl2ZV9zdWIgPSAkKCIjdXBwZXJjYW1lbCIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgbGFzdF9zdWIgPSAkKCIjdXBwZXJjYW1lbCIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZmlyc3Rmb2N1cyA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KDQogICAgICAgICAgICAgICAgICAgICAgICAkKCIjbWFpbl9pbnB1dCIpLmZvY3VzKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgJCgiW2RhdGEtdG9nZ2xlPXBvcG92ZXJdIikucG9wb3Zlcih7aHRtbDp0cnVlfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdbcmVsPSJ0b29sdGlwIl0nKS50b29sdGlwKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgIA0KDQogICAgICAgICAgICAgICAgICAgICB2YXIgYWxyZWFkeSA9IGZhbHNlOw0KDQogICAgICAgICAgICAgICAgICAgICQoIiNjb3B5LWJ0biIpLnpjbGlwKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6J2h0dHA6Ly9jYXBpdGFsaXplbXl0aXRsZS5jb20vWmVyb0NsaXBib2FyZC5zd2YnLA0KICAgICAgICAgICAgICAgICAgICAgICAgY29weTpmdW5jdGlvbigpeyBpZighYWxyZWFkeSkgeyAkLmdldCggIi9mdW5jdGlvbnMucGhwIiwgeyB0aXRsZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW5fb3V0cHV0JykudmFsdWUsIGFjdGlvbjogInN1Ym1pdCIsIG1ldGhvZDogImNvcHkiIH0gKTsgYWxyZWFkeSA9IHRydWU7IH0gICQuZ2V0KCAiL3N1Ym1pdC5waHA/YWN0aW9uPWNvcHkiKTsgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluX291dHB1dCcpLnZhbHVlOyB9IA0KICAgICAgICAgICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB2YXIgdHlwaW5nVGltZXI7ICAgICAgICAgICAgICAgIC8vdGltZXIgaWRlbnRpZmllcg0KICAgICAgICAgICAgICAgICAgICB2YXIgZG9uZVR5cGluZ0ludGVydmFsID0gMTUwMDA7ICAvL3RpbWUgaW4gbXMsIDUgc2Vjb25kIGZvciBleGFtcGxlDQogICAgIA0KDQoNCiAgICAgICAgICAgICAgICAgICAgLy9vbiBrZXl1cCwgc3RhcnQgdGhlIGNvdW50ZG93bg0KICAgICAgICAgICAgICAgICAgICAkKCcjbWFpbl9pbnB1dCcpLmtleXVwKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodHlwaW5nVGltZXIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdHlwaW5nVGltZXIgPSBzZXRUaW1lb3V0KGRvbmVUeXBpbmcsIGRvbmVUeXBpbmdJbnRlcnZhbCk7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgICAgIC8vb24ga2V5ZG93biwgY2xlYXIgdGhlIGNvdW50ZG93biANCiAgICAgICAgICAgICAgICAgICAgJCgnI21haW5faW5wdXQnKS5rZXlkb3duKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodHlwaW5nVGltZXIpOw0KICAgICAgICAgICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgICAgICAgICAvL3VzZXIgaXMgImZpbmlzaGVkIHR5cGluZywiIGRvIHNvbWV0aGluZw0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkb25lVHlwaW5nICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJEb25lIHR5cGluZyIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWFscmVhZHkpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5nZXQoICIvZnVuY3Rpb25zLnBocCIsIHsgdGl0bGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluX2lucHV0JykudmFsdWUsIGFjdGlvbjogInN1Ym1pdCIsIG1ldGhvZDogInRpbWVvdXQiIH0gKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHkgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAgICogQ2FtZWwgQ2FzZQ0KICAgICAgICAgICAgICAgKiANCiAgICAgICAgICAgICAgICogQ29weXJpZ2h0IFJvYmVydCBLYW5pYSBBcHJpbCAyMDE2DQogICAgICAgICAgICAgICAqLw0KDQogICAgICAgICAgICAgIChmdW5jdGlvbigpew0KIA0KDQogICAgICAgICAgICAgICAgd2luZG93LnRpdGxlQ2FwcyA9IGZ1bmN0aW9uKHRpdGxlKXsNCiAgICAgICAgICAgICAgICAgICAgJCgiI21haW5faW5wdXQiKS5yZW1vdmVDbGFzcygiaXRhbGljaXplIik7DQogICAgICAgICAgICAgICAgICAgICQoIiNtYWluX2lucHV0IikucmVtb3ZlQ2xhc3MoInVuZGVybGluZSIpOw0KICAgICAgICAgICAgICAgICAgICBpZigkKCcjY2FtZWxjYXNlJykuaGFzQ2xhc3MoJ2FjdGl2ZScpIHx8ICQoJyNEZWZhdWx0JykuaGFzQ2xhc3MoJ2FjdGl2ZScpKSB7DQogICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJCgiI3VwcGVyY2FtZWwiKS5oYXNDbGFzcygnYWN0aXZlJykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVXBwZXJDYW1lbCh0aXRsZS50b0xvd2VyQ2FzZSgpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZigkKCIjbG93ZXJjYW1lbCIpLmhhc0NsYXNzKCdhY3RpdmUnKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMb3dlckNhbWVsKHRpdGxlLnRvTG93ZXJDYXNlKCkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKCQoIiNwYXNjYWwiKS5oYXNDbGFzcygnYWN0aXZlJykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVXBwZXJDYW1lbCh0aXRsZS50b0xvd2VyQ2FzZSgpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBVcHBlckNhbWVsKHRpdGxlLnRvTG93ZXJDYXNlKCkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIH0gDQoNCiAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICAgICAgZnVuY3Rpb24gVXBwZXJDYW1lbCh0aXRsZSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUucmVwbGFjZSgvXHdcUyovZywgZnVuY3Rpb24odHh0KXtyZXR1cm4gdHh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdHh0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpO30pOw0KCQkJCQl0aXRsZSA9IHRpdGxlLnJlcGxhY2UoL1teQS1aYS16XS9naSwgJycpDQogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUucmVwbGFjZSgiICIsIiIpOw0KCQkJCQlyZXR1cm4gdGl0bGU7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgZnVuY3Rpb24gTG93ZXJDYW1lbCh0aXRsZSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gVXBwZXJDYW1lbCh0aXRsZSk7DQoJCQkJCXJldHVybiB0aXRsZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHRpdGxlLnN1YnN0cigxKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIA0KDQogICAgICAgICAgICAgICAgZnVuY3Rpb24gbG93ZXIod29yZCl7DQogICAgICAgICAgICAgICAgICByZXR1cm4gd29yZC50b0xvd2VyQ2FzZSgpOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHVwcGVyKHdvcmQpew0KICAgICAgICAgICAgICAgICAgdmFyIHBhZF9mcm9udCA9IHdvcmQuc2VhcmNoKC9cU3wkLyk7DQogICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICByZXR1cm4gd29yZC5zdWJzdHJpbmcoMCxwYWRfZnJvbnQpICsgd29yZC5zdWJzdHIocGFkX2Zyb250LDEpLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnN1YnN0cmluZyhwYWRfZnJvbnQrMSkudG9Mb3dlckNhc2UoKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0pKCk7DQoNCg0KDQogICAgICAgICAgICAgICAgZnVuY3Rpb24gU2VudGVuY2VDYXNlKHN0cmluZykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHJpbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmcuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgZnVuY3Rpb24gZXhwYW5kKCkgew0KICAgICAgICAgICAgICAgIHdpbmRvdy50aGVfcnVsZXMuY2xhc3NOYW1lID0gJ2FuaW1hdGVkJzsNCiAgICAgICAgICAgICAgICB3aW5kb3cuc2VlX3J1bGVzLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGRvR2V0Q2FyZXRQb3NpdGlvbiAoY3RybCkgew0KDQogICAgICAgICAgICAgICAgdmFyIENhcmV0UG9zID0gMDsNCiAgICAgICAgICAgICAgICAvLyBJRSBTdXBwb3J0DQogICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LnNlbGVjdGlvbikgew0KDQogICAgICAgICAgICAgICAgICAgIGN0cmwuZm9jdXMgKCk7DQogICAgICAgICAgICAgICAgICAgIHZhciBTZWwgPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UgKCk7DQoNCiAgICAgICAgICAgICAgICAgICAgU2VsLm1vdmVTdGFydCAoJ2NoYXJhY3RlcicsIC1jdHJsLnZhbHVlLmxlbmd0aCk7DQoNCiAgICAgICAgICAgICAgICAgICAgQ2FyZXRQb3MgPSBTZWwudGV4dC5sZW5ndGg7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIC8vIEZpcmVmb3ggc3VwcG9ydA0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN0cmwuc2VsZWN0aW9uU3RhcnQgfHwgY3RybC5zZWxlY3Rpb25TdGFydCA9PSAnMCcpDQogICAgICAgICAgICAgICAgICAgIENhcmV0UG9zID0gY3RybC5zZWxlY3Rpb25TdGFydDsNCg0KICAgICAgICAgICAgICAgIHJldHVybiAoQ2FyZXRQb3MpOw0KDQogICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0Q2FyZXRQb3NpdGlvbihjdHJsLCBwb3MpDQogICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICBpZihjdHJsLnNldFNlbGVjdGlvblJhbmdlKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgY3RybC5mb2N1cygpOw0KICAgICAgICAgICAgICAgICAgICBjdHJsLnNldFNlbGVjdGlvblJhbmdlKHBvcyxwb3MpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlIGlmIChjdHJsLmNyZWF0ZVRleHRSYW5nZSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZ2UgPSBjdHJsLmNyZWF0ZVRleHRSYW5nZSgpOw0KICAgICAgICAgICAgICAgICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgcmFuZ2UubW92ZUVuZCgnY2hhcmFjdGVyJywgcG9zKTsNCiAgICAgICAgICAgICAgICAgICAgcmFuZ2UubW92ZVN0YXJ0KCdjaGFyYWN0ZXInLCBwb3MpOw0KICAgICAgICAgICAgICAgICAgICByYW5nZS5zZWxlY3QoKTsNCiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgd2luZG93LnNlZV9ydWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWVfcnVsZXMnKTsNCiAgICAgICAgICAgICAgICB3aW5kb3cubWFpbl9vdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFpbl9vdXRwdXQnKTsNCiAgICAgICAgICAgICAgICB3aW5kb3cubWFpbl9pbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluX2lucHV0Jyk7DQogICAgICAgICAgICAgICAgd2luZG93LnRoZV9ydWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVfcnVsZXMnKTsNCiAgICAgICAgICAgICAgICB3aW5kb3cucmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOw0KICAgICAgICAgICAgICAgIHdpbmRvdy5jb3B5dGhpczEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weXRoaXMxJyk7DQogICAgICAgICAgICAgICAgd2luZG93LmNvcHlucGFzdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weW5wYXN0ZScpOw0KDQogICAgICAgICAgICAgICAgd2luZG93LnNob3dfaW1hZ2UgPSBudWxsOw0KDQogICAgICAgICAgICAgICAgd2luZG93Lmxhc3QgPSAiIjsNCiAgICAgICAgICAgICAgICB2YXIgc2hvd19pbWcgPSBmdW5jdGlvbihldnQpIHsNCg0KICAgICAgICAgICAgICAgICAkKCcjY29weXRoaXMxJykuYWRkQ2xhc3MoImJ0bi1zdWNjZXNzIik7DQogICAgICAgICAgICAgICAgICQoJyNjb3B5dGhpczEnKS5yZW1vdmVDbGFzcygiYnRuLWRhbmdlciIpOw0KICAgICAgICAgICAgICAgICAgLy8kKCcjY29weXRoaXMxJykuY3NzKHsgIm9wYWNpdHkiOiAnMSd9KTsNCg0KICAgICAgICAgICAgICAgICAgZXZ0LnRhcmdldC5zdHlsZS5jb2xvciA9ICdncmVlbic7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciB1cGRhdGVfdGV4dCA9IGZ1bmN0aW9uKGV2dCkgew0KICAgICAgICAgICAgICAgICAgdmFyIHRoZV9pbnB1dCA9IGV2dC50YXJnZXQ7DQoNCiAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cubGFzdCAhPT0gdGhlX2lucHV0LnZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBwcmV2X2NhcmV0X3Bvc2l0aW9uID0gZG9HZXRDYXJldFBvc2l0aW9uKHRoZV9pbnB1dCk7IA0KICAgICAgICAgICAgICAgICAgICAkKCcjbWFpbl9vdXRwdXQnKS52YWwodGl0bGVDYXBzKHRoZV9pbnB1dC52YWx1ZSkpOw0KICAgICAgICAgICAgICAgICAgICBzZXRDYXJldFBvc2l0aW9uKHRoZV9pbnB1dCwgcHJldl9jYXJldF9wb3NpdGlvbik7DQogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sYXN0ID0gdGhlX2lucHV0LnZhbHVlOw0KDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICBpZiAodGhlX2lucHV0LnZhbHVlLnRyaW0oKSkgew0KICAgICAgICAgICAgICAgICAgICBzaG93X2ltZyhldnQpOw0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgdmFyIHRvX3JlZCA9IGZ1bmN0aW9uKGV2dCkgew0KICAgICAgICAgICAgICAgICAgLy8gc3BlY2lhbCBjYXNlIGZvciAidiIgKHBhc3RlKQ0KICAgICAgICAgICAgICAgICAgaWYgKGV2dC53aGljaCAhPSA4Nikgew0KICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LndoaWNoIDw9IDAgfHwgZXZ0LmN0cmxLZXkgfHwgZXZ0Lm1ldGFLZXkgfHwgZXZ0LmFsdEtleSkgew0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh3aW5kb3cuc2hvd19pbWFnZSk7DQogICAgICAgICAgICAgICAgICBldnQudGFyZ2V0LnN0eWxlLmNvbG9yID0gJyMzMzMnOw0KDQogICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIA0KICAgICANCiAgICAgICAgICAgICAgICAkKCIjc2VsZWN0LWZvcm1hdCIpLm9uKCJjbGljayIsICJsaSIsZnVuY3Rpb24oZXZlbnQpew0KICAgICAgICAgICAgICAgICAgICBhY3RpdmVfdGFiLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgICAgICAgYWN0aXZlX3RhYiA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAkKCcjbWFpbl9vdXRwdXQnKS5kZWxheSggODAwICkudmFsKHRpdGxlQ2FwcygkKCcjbWFpbl9pbnB1dCcpLnZhbCgpKSApOyANCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgfSk7DQogICAgIA0KICAgICAgICAgICAgICAgICQoIiNzdWItZm9ybWF0cyIpLm9uKCJjbGljayIsICJidXR0b24iLGZ1bmN0aW9uKGV2ZW50KXsNCiAgICAgICAgICAgICAgICAgICAgYWN0aXZlX3N1Yi5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQogICAgICAgICAgICAgICAgICAgIGFjdGl2ZV9zdWIucmVtb3ZlQ2xhc3MoJ2N1c3RvbS1vcmFuZ2UtYnRuJyk7DQogICAgICAgICAgICAgICAgICAgIGFjdGl2ZV9zdWIucmVtb3ZlQ2xhc3MoJ2J0bi13YXJuaW5nJyk7DQogICAgICAgICAgICAgICAgICAgIGFjdGl2ZV9zdWIuYWRkQ2xhc3MoJ2J0bi1kZWZhdWx0Jyk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdhY3RpdmUnKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnY3VzdG9tLW9yYW5nZS1idG4nKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnYnRuLXdhcm5pbmcnKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnYnRuLWRlZmF1bHQnKTsNCiAgICAgICAgICAgICAgICAgICAgbGFzdF9zdWIgPSBhY3RpdmVfc3ViOw0KICAgICAgICAgICAgICAgICAgICBhY3RpdmVfc3ViID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICQoJyNtYWluX291dHB1dCcpLmRlbGF5KCA4MDAgKS52YWwodGl0bGVDYXBzKCQoJyNtYWluX2lucHV0JykudmFsKCkpICk7IA0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgDQogICAgICAgICAgICAgICAgDQoNCiAgICAgICAgICAgICAgICBtYWluX2lucHV0Lm9ua2V5dXAgPSB1cGRhdGVfdGV4dDsNCg0KDQogICAgICAgICAgICAgICAgbWFpbl9pbnB1dC5vbmtleWRvd24gPSB0b19yZWQ7IA0KICAgICAgICA8L3NjcmlwdD4=[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]