"use strict";(self.webpackChunktimetrex=self.webpackChunktimetrex||[]).push([["reports-formw2-FormW2ReportViewController"],{7705:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"FormW2ReportViewController\": () => (/* binding */ FormW2ReportViewController)\n/* harmony export */ });\n/* provided dependency */ var _ = __webpack_require__(9050);\n/* provided dependency */ var $ = __webpack_require__(9755);\nclass FormW2ReportViewController extends ReportBaseViewController {\n\tconstructor( options = {} ) {\n\t\t_.defaults( options, {\n\t\t\tkind_of_employer_array: null,\n\t\t\tform_type_array: null\n\t\t} );\n\n\t\tsuper( options );\n\t}\n\n\tinitReport( options ) {\n\t\tthis.script_name = 'FormW2Report';\n\t\tthis.viewId = 'FormW2Report';\n\t\tthis.context_menu_name = $.i18n._( 'Form W2/W3' );\n\t\tthis.navigation_label = $.i18n._( 'Saved Report' );\n\t\tthis.view_file = 'FormW2ReportView.html';\n\t\tthis.api = TTAPI.APIFormW2Report;\n\t\tthis.api_paystub = TTAPI.APIPayStubEntryAccount;\n\t\tthis.include_form_setup = true;\n\t}\n\n\tgetCustomContextMenuModel() {\n\t\tvar context_menu_model = {\n\t\t\tgroups: {\n\t\t\t\tform: {\n\t\t\t\t\tlabel: $.i18n._( 'Form' ),\n\t\t\t\t\tid: this.viewId + 'Form'\n\t\t\t\t}\n\t\t\t},\n\t\t\texclude: [],\n\t\t\tinclude: [\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'Form' ),\n\t\t\t\t\tid: 'view_print',\n\t\t\t\t\taction_group_header: true,\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\ticon: 'view-35x35.png',\n\t\t\t\t\ttype: 2\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'View: Government (Multiple Employees/Page)' ),\n\t\t\t\t\tid: 'pdf_form_government',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\ticon: 'view-35x35.png',\n\t\t\t\t\ttype: 2,\n\t\t\t\t\tsort_order: 10100\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'View: Employee (One Employee/Page)' ),\n\t\t\t\t\tid: 'pdf_form',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\ticon: 'view-35x35.png',\n\t\t\t\t\ttype: 2,\n\t\t\t\t\tsort_order: 10200\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'eFile' ),\n\t\t\t\t\tid: 'efile',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\tsort_order: 10300\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'Save Setup' ),\n\t\t\t\t\tid: 'save_setup',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\tsort_order: 10400\n\t\t\t\t},\n\t\t\t]\n\t\t};\n\n\t\tif ( ( Global.getProductEdition() >= 15 ) ) {\n\t\t\tcontext_menu_model.include.push( {\n\t\t\t\tlabel: $.i18n._( 'Publish Employee Forms' ),\n\t\t\t\tid: 'pdf_form_publish_employee',\n\t\t\t\taction_group: 'view_form',\n\t\t\t\tmenu_align: 'right',\n\t\t\t\tsort_order: 10250\n\t\t\t} );\n\t\t}\n\n\t\treturn context_menu_model;\n\t}\n\n\tinitOptions( callBack ) {\n\t\tvar $this = this;\n\t\tvar options = [\n\t\t\t{ option_name: 'page_orientation' },\n\t\t\t{ option_name: 'font_size' },\n\t\t\t{ option_name: 'chart_display_mode' },\n\t\t\t{ option_name: 'chart_type' },\n\t\t\t{ option_name: 'templates' },\n\t\t\t{ option_name: 'setup_fields' },\n\t\t\t{ option_name: 'kind_of_employer' },\n\t\t\t{ option_name: 'form_type' },\n\t\t\t{ option_name: 'auto_refresh' }\n\t\t];\n\n\t\tthis.initDropDownOptions( options, function( result ) {\n\t\t\tcallBack( result ); // First to initialize drop down options, and then to initialize edit view UI.\n\t\t} );\n\t}\n\n\tonCustomContextClick( id ) {\n\t\tswitch ( id ) {\n\t\t\tcase 'efile':\n\t\t\tcase 'pdf_form':\n\t\t\tcase 'pdf_form_government':\n\t\t\tcase 'pdf_form_publish_employee':\n\t\t\t\tthis.onReportMenuClick( id );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn false; //FALSE tells onContextMenuClick() to keep processing.\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tonReportMenuClick( id ) {\n\t\tthis.onViewClick( id );\n\t}\n\n\tbuildFormSetupUI() {\n\n\t\tvar $this = this;\n\n\t\tvar tab3 = this.edit_view_tab.find( '#tab_form_setup' );\n\n\t\tvar tab3_column1 = tab3.find( '.first-column' );\n\n\t\tthis.edit_view_tabs[3] = [];\n\n\t\tthis.edit_view_tabs[3].push( tab3_column1 );\n\n\t\t//Form (W2/W2c)\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( { field: 'form_type', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.form_type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Form' ), form_item_input, tab3_column1 );\n\n\t\t//Kind of Employer\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( { field: 'kind_of_employer', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.kind_of_employer_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Kind of Employer' ), form_item_input, tab3_column1 );\n\n\t\t//Wages, Tips, Other Compensation (Box 1)\n\t\tvar v_box = $( '
' );\n\n\t\t//Include\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l1_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tvar form_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tvar form_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l1_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Wages, Tips, Other Compensation (Box 1)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Federal Income Tax Withheld (Box 2)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l2_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l2_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Federal Income Tax Withheld (Box 2)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Social Security Wages (Box 3)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l3_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l3_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Social Security Wages (Box 3)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Social Security Tax Withheld (Box 4)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l4_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l4_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Social Security Tax Withheld (Box 4)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Medicare Wages and Tips (Box 5)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l5_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l5_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Medicare Wages and Tips (Box 5)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Medicare Tax Withheld (Box 6)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l6_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l6_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Medicare Tax Withheld (Box 6)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Social Security Tips (Box 7)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l7_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l7_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Social Security Tips (Box 7)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Allocated Tips (Box 8)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l8_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l8_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Allocated Tips (Box 8)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Dependent Care Benefits (Box 10)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l10_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l10_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Dependent Care Benefits (Box 10)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Nonqualified Plans (Box 11)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l11_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l11_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Nonqualified Plans (Box 11)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Box 12a:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12a_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12a_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tvar custom_label_widget = $( '' );\n\t\tvar label = $( '' );\n\t\tvar box = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12a_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 12b:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12b_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12b_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12b_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 12c:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12c_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12c_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12c_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 12d:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12d_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12d_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12d_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 12e:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12e_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12e_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12e_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 12f:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12f_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12f_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12f_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 12g:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12g_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12g_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12g_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 12h:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12h_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l12h_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l12h_code', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 12: Code' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 13 (Retirement Plan)\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APICompanyDeduction,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_deduction',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l13b_company_deduction'\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Retirement Plans (Box 13)' ), form_item_input, tab3_column1 );\n\n\t\t//Box 14a:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14a_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14a_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14a_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 14b:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14b_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14b_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14b_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 14c:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14c_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14c_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14c_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 14d:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14d_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14d_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14d_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\n\n\n\n\n\n\t\t//Box 14e:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14e_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14e_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14e_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 14f:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14f_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14f_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14f_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 14g:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14g_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14g_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14g_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box 14h:\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14h_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'l14h_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'l14h_name', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target, true );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box 14 (Other): Name' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\t}\n\n\tgetFormSetupData() {\n\t\tvar other = {};\n\n\t\tother.form_type = this.current_edit_record.form_type;\n\t\tother.kind_of_employer = this.current_edit_record.kind_of_employer;\n\n\t\tother.l1 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l1_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l1_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l2 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l2_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l2_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l3 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l3_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l3_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l4 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l4_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l4_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l5 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l5_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l5_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l6 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l6_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l6_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l7 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l7_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l7_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l8 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l8_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l8_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l10 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l10_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l10_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l11 = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l11_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l11_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12a = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12a_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12a_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12b = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12b_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12b_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12c = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12c_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12c_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12d = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12d_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12d_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12e = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12e_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12e_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12f = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12f_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12f_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12g = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12g_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12g_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12h = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l12h_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l12h_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l13b = {\n\t\t\tcompany_deduction: this.current_edit_record.l13b_company_deduction\n\t\t};\n\n\t\tother.l14a = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14a_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14a_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l14b = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14b_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14b_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l14c = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14c_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14c_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l14d = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14d_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14d_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l14e = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14e_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14e_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l14f = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14f_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14f_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l14g = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14g_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14g_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l14h = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.l14h_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.l14h_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.l12a_code = this.current_edit_record.l12a_code;\n\t\tother.l12b_code = this.current_edit_record.l12b_code;\n\t\tother.l12c_code = this.current_edit_record.l12c_code;\n\t\tother.l12d_code = this.current_edit_record.l12d_code;\n\t\tother.l12e_code = this.current_edit_record.l12e_code;\n\t\tother.l12f_code = this.current_edit_record.l12f_code;\n\t\tother.l12g_code = this.current_edit_record.l12g_code;\n\t\tother.l12h_code = this.current_edit_record.l12h_code;\n\t\tother.l14a_name = this.current_edit_record.l14a_name;\n\t\tother.l14b_name = this.current_edit_record.l14b_name;\n\t\tother.l14c_name = this.current_edit_record.l14c_name;\n\t\tother.l14d_name = this.current_edit_record.l14d_name;\n\t\tother.l14e_name = this.current_edit_record.l14e_name;\n\t\tother.l14f_name = this.current_edit_record.l14f_name;\n\t\tother.l14g_name = this.current_edit_record.l14g_name;\n\t\tother.l14h_name = this.current_edit_record.l14h_name;\n\n\t\treturn other;\n\t}\n\n\t/* jshint ignore:start */\n\tsetFormSetupData( res_data ) {\n\t\tif ( !res_data ) {\n\t\t\tthis.show_empty_message = true;\n\t\t} else {\n\t\t\tlet batch_get_real_data = this.processFormSetupDataAndAddToBatch( res_data, [\n\t\t\t\t{ data: _.get(res_data, 'form_type'), field_key: 'form_type', api: null },\n\t\t\t\t{ data: _.get(res_data, 'kind_of_employer'), field_key: 'kind_of_employer', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l1'), field_key: 'l1', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l2'), field_key: 'l2', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l3'), field_key: 'l3', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l4'), field_key: 'l4', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l5'), field_key: 'l5', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l6'), field_key: 'l6', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l7'), field_key: 'l7', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l8'), field_key: 'l8', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l10'), field_key: 'l10', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l11'), field_key: 'l11', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12a'), field_key: 'l12a', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12b'), field_key: 'l12b', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12c'), field_key: 'l12c', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12d'), field_key: 'l12d', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12e'), field_key: 'l12e', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12f'), field_key: 'l12f', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12g'), field_key: 'l12g', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12h'), field_key: 'l12h', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, ['l13b', 'company_deduction']), field_key: 'l13b_company_deduction', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14a'), field_key: 'l14a', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l14b'), field_key: 'l14b', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l14c'), field_key: 'l14c', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l14d'), field_key: 'l14d', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l14e'), field_key: 'l14e', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l14f'), field_key: 'l14f', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l14g'), field_key: 'l14g', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l14h'), field_key: 'l14h', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'l12a_code'), field_key: 'l12a_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l12b_code'), field_key: 'l12b_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l12c_code'), field_key: 'l12c_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l12d_code'), field_key: 'l12d_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l12e_code'), field_key: 'l12e_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l12f_code'), field_key: 'l12f_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l12g_code'), field_key: 'l12g_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l12h_code'), field_key: 'l12h_code', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14a_name'), field_key: 'l14a_name', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14b_name'), field_key: 'l14b_name', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14c_name'), field_key: 'l14c_name', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14d_name'), field_key: 'l14d_name', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14e_name'), field_key: 'l14e_name', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14f_name'), field_key: 'l14f_name', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14g_name'), field_key: 'l14g_name', api: null },\n\t\t\t\t{ data: _.get(res_data, 'l14h_name'), field_key: 'l14h_name', api: null },\n\t\t\t] );\n\n\t\t\tthis.getBatchedRealFormDataFromAPI( batch_get_real_data );\n\t\t}\n\t}\n\n\t/* jshint ignore:end */\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDLHdHQUF3RztBQUNySCxNQUFNLE1BQU0sQ0FBQyx3R0FBd0c7QUFDckgsTUFBTSxNQUFNLENBQUMsd0dBQXdHO0FBQ3JILE1BQU0sTUFBTSxDQUFDLHdHQUF3RztBQUNySCxNQUFNLE1BQU0sQ0FBQyxnRUFBZ0U7QUFDN0UsTUFBTSxNQUFNLENBQUMsZ0VBQWdFO0FBQzdFLE1BQU0sTUFBTSxDQUFDLGdFQUFnRTtBQUM3RSxNQUFNLE1BQU0sQ0FBQyxnRUFBZ0U7QUFDN0UsTUFBTSxNQUFNLENBQUMsZ0VBQWdFO0FBQzdFLE1BQU0sTUFBTSxDQUFDLGdFQUFnRTtBQUM3RSxNQUFNLE1BQU0sQ0FBQyxnRUFBZ0U7QUFDN0UsTUFBTSxNQUFNLENBQUMsZ0VBQWdFO0FBQzdFLE1BQU0sTUFBTSxDQUFDLGdFQUFnRTtBQUM3RSxNQUFNLE1BQU0sQ0FBQyxnRUFBZ0U7QUFDN0UsTUFBTSxNQUFNLENBQUMsZ0VBQWdFO0FBQzdFLE1BQU0sTUFBTSxDQUFDLGdFQUFnRTtBQUM3RSxNQUFNLE1BQU0sQ0FBQyxnRUFBZ0U7QUFDN0UsTUFBTSxNQUFNLENBQUMsZ0VBQWdFO0FBQzdFLE1BQU0sTUFBTSxDQUFDLGdFQUFnRTtBQUM3RSxNQUFNLE1BQU0sQ0FBQyxnRUFBZ0U7QUFDN0U7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9pbnRlcmZhY2UvaHRtbDUvdmlld3MvcmVwb3J0cy9mb3JtdzIvRm9ybVcyUmVwb3J0Vmlld0NvbnRyb2xsZXIuanM/M2Y0OCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9ybVcyUmVwb3J0Vmlld0NvbnRyb2xsZXIgZXh0ZW5kcyBSZXBvcnRCYXNlVmlld0NvbnRyb2xsZXIge1xuXHRjb25zdHJ1Y3Rvciggb3B0aW9ucyA9IHt9ICkge1xuXHRcdF8uZGVmYXVsdHMoIG9wdGlvbnMsIHtcblx0XHRcdGtpbmRfb2ZfZW1wbG95ZXJfYXJyYXk6IG51bGwsXG5cdFx0XHRmb3JtX3R5cGVfYXJyYXk6IG51bGxcblx0XHR9ICk7XG5cblx0XHRzdXBlciggb3B0aW9ucyApO1xuXHR9XG5cblx0aW5pdFJlcG9ydCggb3B0aW9ucyApIHtcblx0XHR0aGlzLnNjcmlwdF9uYW1lID0gJ0Zvcm1XMlJlcG9ydCc7XG5cdFx0dGhpcy52aWV3SWQgPSAnRm9ybVcyUmVwb3J0Jztcblx0XHR0aGlzLmNvbnRleHRfbWVudV9uYW1lID0gJC5pMThuLl8oICdGb3JtIFcyL1czJyApO1xuXHRcdHRoaXMubmF2aWdhdGlvbl9sYWJlbCA9ICQuaTE4bi5fKCAnU2F2ZWQgUmVwb3J0JyApO1xuXHRcdHRoaXMudmlld19maWxlID0gJ0Zvcm1XMlJlcG9ydFZpZXcuaHRtbCc7XG5cdFx0dGhpcy5hcGkgPSBUVEFQSS5BUElGb3JtVzJSZXBvcnQ7XG5cdFx0dGhpcy5hcGlfcGF5c3R1YiA9IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQ7XG5cdFx0dGhpcy5pbmNsdWRlX2Zvcm1fc2V0dXAgPSB0cnVlO1xuXHR9XG5cblx0Z2V0Q3VzdG9tQ29udGV4dE1lbnVNb2RlbCgpIHtcblx0XHR2YXIgY29udGV4dF9tZW51X21vZGVsID0ge1xuXHRcdFx0Z3JvdXBzOiB7XG5cdFx0XHRcdGZvcm06IHtcblx0XHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdGb3JtJyApLFxuXHRcdFx0XHRcdGlkOiB0aGlzLnZpZXdJZCArICdGb3JtJ1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0ZXhjbHVkZTogW10sXG5cdFx0XHRpbmNsdWRlOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdGb3JtJyApLFxuXHRcdFx0XHRcdGlkOiAndmlld19wcmludCcsXG5cdFx0XHRcdFx0YWN0aW9uX2dyb3VwX2hlYWRlcjogdHJ1ZSxcblx0XHRcdFx0XHRhY3Rpb25fZ3JvdXA6ICd2aWV3X2Zvcm0nLFxuXHRcdFx0XHRcdGdyb3VwOiAnZm9ybScsXG5cdFx0XHRcdFx0bWVudV9hbGlnbjogJ3JpZ2h0Jyxcblx0XHRcdFx0XHRpY29uOiAndmlldy0zNXgzNS5wbmcnLFxuXHRcdFx0XHRcdHR5cGU6IDJcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1ZpZXc6IEdvdmVybm1lbnQgKE11bHRpcGxlIEVtcGxveWVlcy9QYWdlKScgKSxcblx0XHRcdFx0XHRpZDogJ3BkZl9mb3JtX2dvdmVybm1lbnQnLFxuXHRcdFx0XHRcdGFjdGlvbl9ncm91cDogJ3ZpZXdfZm9ybScsXG5cdFx0XHRcdFx0Z3JvdXA6ICdmb3JtJyxcblx0XHRcdFx0XHRtZW51X2FsaWduOiAncmlnaHQnLFxuXHRcdFx0XHRcdGljb246ICd2aWV3LTM1eDM1LnBuZycsXG5cdFx0XHRcdFx0dHlwZTogMixcblx0XHRcdFx0XHRzb3J0X29yZGVyOiAxMDEwMFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnVmlldzogRW1wbG95ZWUgKE9uZSBFbXBsb3llZS9QYWdlKScgKSxcblx0XHRcdFx0XHRpZDogJ3BkZl9mb3JtJyxcblx0XHRcdFx0XHRhY3Rpb25fZ3JvdXA6ICd2aWV3X2Zvcm0nLFxuXHRcdFx0XHRcdGdyb3VwOiAnZm9ybScsXG5cdFx0XHRcdFx0bWVudV9hbGlnbjogJ3JpZ2h0Jyxcblx0XHRcdFx0XHRpY29uOiAndmlldy0zNXgzNS5wbmcnLFxuXHRcdFx0XHRcdHR5cGU6IDIsXG5cdFx0XHRcdFx0c29ydF9vcmRlcjogMTAyMDBcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ2VGaWxlJyApLFxuXHRcdFx0XHRcdGlkOiAnZWZpbGUnLFxuXHRcdFx0XHRcdGFjdGlvbl9ncm91cDogJ3ZpZXdfZm9ybScsXG5cdFx0XHRcdFx0Z3JvdXA6ICdmb3JtJyxcblx0XHRcdFx0XHRtZW51X2FsaWduOiAncmlnaHQnLFxuXHRcdFx0XHRcdHNvcnRfb3JkZXI6IDEwMzAwXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdTYXZlIFNldHVwJyApLFxuXHRcdFx0XHRcdGlkOiAnc2F2ZV9zZXR1cCcsXG5cdFx0XHRcdFx0YWN0aW9uX2dyb3VwOiAndmlld19mb3JtJyxcblx0XHRcdFx0XHRncm91cDogJ2Zvcm0nLFxuXHRcdFx0XHRcdG1lbnVfYWxpZ246ICdyaWdodCcsXG5cdFx0XHRcdFx0c29ydF9vcmRlcjogMTA0MDBcblx0XHRcdFx0fSxcblx0XHRcdF1cblx0XHR9O1xuXG5cdFx0aWYgKCAoIEdsb2JhbC5nZXRQcm9kdWN0RWRpdGlvbigpID49IDE1ICkgKSB7XG5cdFx0XHRjb250ZXh0X21lbnVfbW9kZWwuaW5jbHVkZS5wdXNoKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1B1Ymxpc2ggRW1wbG95ZWUgRm9ybXMnICksXG5cdFx0XHRcdGlkOiAncGRmX2Zvcm1fcHVibGlzaF9lbXBsb3llZScsXG5cdFx0XHRcdGFjdGlvbl9ncm91cDogJ3ZpZXdfZm9ybScsXG5cdFx0XHRcdG1lbnVfYWxpZ246ICdyaWdodCcsXG5cdFx0XHRcdHNvcnRfb3JkZXI6IDEwMjUwXG5cdFx0XHR9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNvbnRleHRfbWVudV9tb2RlbDtcblx0fVxuXG5cdGluaXRPcHRpb25zKCBjYWxsQmFjayApIHtcblx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXHRcdHZhciBvcHRpb25zID0gW1xuXHRcdFx0eyBvcHRpb25fbmFtZTogJ3BhZ2Vfb3JpZW50YXRpb24nIH0sXG5cdFx0XHR7IG9wdGlvbl9uYW1lOiAnZm9udF9zaXplJyB9LFxuXHRcdFx0eyBvcHRpb25fbmFtZTogJ2NoYXJ0X2Rpc3BsYXlfbW9kZScgfSxcblx0XHRcdHsgb3B0aW9uX25hbWU6ICdjaGFydF90eXBlJyB9LFxuXHRcdFx0eyBvcHRpb25fbmFtZTogJ3RlbXBsYXRlcycgfSxcblx0XHRcdHsgb3B0aW9uX25hbWU6ICdzZXR1cF9maWVsZHMnIH0sXG5cdFx0XHR7IG9wdGlvbl9uYW1lOiAna2luZF9vZl9lbXBsb3llcicgfSxcblx0XHRcdHsgb3B0aW9uX25hbWU6ICdmb3JtX3R5cGUnIH0sXG5cdFx0XHR7IG9wdGlvbl9uYW1lOiAnYXV0b19yZWZyZXNoJyB9XG5cdFx0XTtcblxuXHRcdHRoaXMuaW5pdERyb3BEb3duT3B0aW9ucyggb3B0aW9ucywgZnVuY3Rpb24oIHJlc3VsdCApIHtcblx0XHRcdGNhbGxCYWNrKCByZXN1bHQgKTsgLy8gRmlyc3QgdG8gaW5pdGlhbGl6ZSBkcm9wIGRvd24gb3B0aW9ucywgYW5kIHRoZW4gdG8gaW5pdGlhbGl6ZSBlZGl0IHZpZXcgVUkuXG5cdFx0fSApO1xuXHR9XG5cblx0b25DdXN0b21Db250ZXh0Q2xpY2soIGlkICkge1xuXHRcdHN3aXRjaCAoIGlkICkge1xuXHRcdFx0Y2FzZSAnZWZpbGUnOlxuXHRcdFx0Y2FzZSAncGRmX2Zvcm0nOlxuXHRcdFx0Y2FzZSAncGRmX2Zvcm1fZ292ZXJubWVudCc6XG5cdFx0XHRjYXNlICdwZGZfZm9ybV9wdWJsaXNoX2VtcGxveWVlJzpcblx0XHRcdFx0dGhpcy5vblJlcG9ydE1lbnVDbGljayggaWQgKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7IC8vRkFMU0UgdGVsbHMgb25Db250ZXh0TWVudUNsaWNrKCkgdG8ga2VlcCBwcm9jZXNzaW5nLlxuXHRcdH1cblxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0b25SZXBvcnRNZW51Q2xpY2soIGlkICkge1xuXHRcdHRoaXMub25WaWV3Q2xpY2soIGlkICk7XG5cdH1cblxuXHRidWlsZEZvcm1TZXR1cFVJKCkge1xuXG5cdFx0dmFyICR0aGlzID0gdGhpcztcblxuXHRcdHZhciB0YWIzID0gdGhpcy5lZGl0X3ZpZXdfdGFiLmZpbmQoICcjdGFiX2Zvcm1fc2V0dXAnICk7XG5cblx0XHR2YXIgdGFiM19jb2x1bW4xID0gdGFiMy5maW5kKCAnLmZpcnN0LWNvbHVtbicgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3RhYnNbM10gPSBbXTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3RhYnNbM10ucHVzaCggdGFiM19jb2x1bW4xICk7XG5cblx0XHQvL0Zvcm0gKFcyL1cyYylcblx0XHR2YXIgZm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7IGZpZWxkOiAnZm9ybV90eXBlJywgc2V0X2VtcHR5OiBmYWxzZSB9ICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldFNvdXJjZURhdGEoICR0aGlzLmZvcm1fdHlwZV9hcnJheSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnRm9ybScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWIzX2NvbHVtbjEgKTtcblxuXHRcdC8vS2luZCBvZiBFbXBsb3llclxuXHRcdHZhciBmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkNPTUJPX0JPWCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UQ29tYm9Cb3goIHsgZmllbGQ6ICdraW5kX29mX2VtcGxveWVyJywgc2V0X2VtcHR5OiBmYWxzZSB9ICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldFNvdXJjZURhdGEoICR0aGlzLmtpbmRfb2ZfZW1wbG95ZXJfYXJyYXkgKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0tpbmQgb2YgRW1wbG95ZXInICksIGZvcm1faXRlbV9pbnB1dCwgdGFiM19jb2x1bW4xICk7XG5cblx0XHQvL1dhZ2VzLCBUaXBzLCBPdGhlciBDb21wZW5zYXRpb24gKEJveCAxKVxuXHRcdHZhciB2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdHZhciBmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMV9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0dmFyIGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdHZhciBmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMV9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1dhZ2VzLCBUaXBzLCBPdGhlciBDb21wZW5zYXRpb24gKEJveCAxKScgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUgKTtcblxuXHRcdC8vRmVkZXJhbCBJbmNvbWUgVGF4IFdpdGhoZWxkIChCb3ggMilcblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wyX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0ZlZGVyYWwgSW5jb21lIFRheCBXaXRoaGVsZCAoQm94IDIpJyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSApO1xuXG5cdFx0Ly9Tb2NpYWwgU2VjdXJpdHkgV2FnZXMgKEJveCAzKVxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDNfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wzX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnU29jaWFsIFNlY3VyaXR5IFdhZ2VzIChCb3ggMyknICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlICk7XG5cblx0XHQvL1NvY2lhbCBTZWN1cml0eSBUYXggV2l0aGhlbGQgKEJveCA0KVxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDRfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2w0X2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnU29jaWFsIFNlY3VyaXR5IFRheCBXaXRoaGVsZCAoQm94IDQpJyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSApO1xuXG5cdFx0Ly9NZWRpY2FyZSBXYWdlcyBhbmQgVGlwcyAoQm94IDUpXG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsNV9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dCwgJC5pMThuLl8oICdJbmNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXHRcdHZfYm94LmFwcGVuZCggJzxkaXYgY2xhc3M9XFwnY2xlYXItYm90aC1kaXZcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9FeGNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXRfMS5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDVfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdNZWRpY2FyZSBXYWdlcyBhbmQgVGlwcyAoQm94IDUpJyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSApO1xuXG5cdFx0Ly9NZWRpY2FyZSBUYXggV2l0aGhlbGQgKEJveCA2KVxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDZfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2w2X2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnTWVkaWNhcmUgVGF4IFdpdGhoZWxkIChCb3ggNiknICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlICk7XG5cblx0XHQvL1NvY2lhbCBTZWN1cml0eSBUaXBzIChCb3ggNylcblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2w3X2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsN19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1NvY2lhbCBTZWN1cml0eSBUaXBzIChCb3ggNyknICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlICk7XG5cblx0XHQvL0FsbG9jYXRlZCBUaXBzIChCb3ggOClcblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2w4X2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsOF9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0FsbG9jYXRlZCBUaXBzIChCb3ggOCknICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlICk7XG5cblx0XHQvL0RlcGVuZGVudCBDYXJlIEJlbmVmaXRzIChCb3ggMTApXG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTBfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxMF9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0RlcGVuZGVudCBDYXJlIEJlbmVmaXRzIChCb3ggMTApJyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSApO1xuXG5cdFx0Ly9Ob25xdWFsaWZpZWQgUGxhbnMgKEJveCAxMSlcblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxMV9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dCwgJC5pMThuLl8oICdJbmNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXHRcdHZfYm94LmFwcGVuZCggJzxkaXYgY2xhc3M9XFwnY2xlYXItYm90aC1kaXZcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9FeGNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXRfMS5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDExX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnTm9ucXVhbGlmaWVkIFBsYW5zIChCb3ggMTEpJyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSApO1xuXG5cdFx0Ly9Cb3ggMTJhOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJhX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJhX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdHZhciBjdXN0b21fbGFiZWxfd2lkZ2V0ID0gJCggJzxkaXYgY2xhc3M9XFwnaC1ib3hcXCc+PC9kaXY+JyApO1xuXHRcdHZhciBsYWJlbCA9ICQoICc8c3BhbiBjbGFzcz1cImVkaXQtdmlldy1mb3JtLWl0ZW0tbGFiZWxcIj48L3NwYW4+JyApO1xuXHRcdHZhciBib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmFfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTJiOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJiX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJiX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmJfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTJjOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJjX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJjX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmNfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTJkOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJkX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJkX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmRfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTJlOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJlX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJlX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmVfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTJmOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJmX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJmX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmZfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTJnOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJnX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJnX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmdfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTJoOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJoX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTJoX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxMmhfY29kZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTI6IENvZGUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTMgKFJldGlyZW1lbnQgUGxhbilcblx0XHR2YXIgZm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElDb21wYW55RGVkdWN0aW9uLFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfZGVkdWN0aW9uJyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDEzYl9jb21wYW55X2RlZHVjdGlvbidcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdSZXRpcmVtZW50IFBsYW5zIChCb3ggMTMpJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYjNfY29sdW1uMSApO1xuXG5cdFx0Ly9Cb3ggMTRhOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTRhX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTRhX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxNGFfbmFtZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTQgKE90aGVyKTogTmFtZScgKSApO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdWlfZGljW2JveC5nZXRGaWVsZCgpXSA9IGJveDtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBib3ggKTtcblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggbGFiZWwgKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQm94JyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBjdXN0b21fbGFiZWxfd2lkZ2V0ICk7XG5cblx0XHQvL0JveCAxNGI6XG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxNGJfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxNGJfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldCA9ICQoICc8ZGl2IGNsYXNzPVxcJ2gtYm94XFwnPjwvZGl2PicgKTtcblx0XHRsYWJlbCA9ICQoICc8c3BhbiBjbGFzcz1cImVkaXQtdmlldy1mb3JtLWl0ZW0tbGFiZWxcIj48L3NwYW4+JyApO1xuXHRcdGJveCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGJveC5UVGV4dElucHV0KCB7IGZpZWxkOiAnbDE0Yl9uYW1lJywgd2lkdGg6IDUwIH0gKTtcblx0XHRib3guY3NzKCAnZmxvYXQnLCAncmlnaHQnICk7XG5cdFx0Ym94LmJpbmQoICdmb3JtSXRlbUNoYW5nZScsIGZ1bmN0aW9uKCBlLCB0YXJnZXQgKSB7XG5cdFx0XHQkdGhpcy5vbkZvcm1JdGVtQ2hhbmdlKCB0YXJnZXQsIHRydWUgKTtcblx0XHR9ICk7XG5cblx0XHRsYWJlbC50ZXh0KCAkLmkxOG4uXyggJ0JveCAxNCAoT3RoZXIpOiBOYW1lJyApICk7XG5cblx0XHR0aGlzLmVkaXRfdmlld191aV9kaWNbYm94LmdldEZpZWxkKCldID0gYm94O1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGJveCApO1xuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBsYWJlbCApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdCb3gnICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGN1c3RvbV9sYWJlbF93aWRnZXQgKTtcblxuXHRcdC8vQm94IDE0Yzpcblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDE0Y19pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dCwgJC5pMThuLl8oICdJbmNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXHRcdHZfYm94LmFwcGVuZCggJzxkaXYgY2xhc3M9XFwnY2xlYXItYm90aC1kaXZcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9FeGNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXRfMS5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDE0Y19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0ID0gJCggJzxkaXYgY2xhc3M9XFwnaC1ib3hcXCc+PC9kaXY+JyApO1xuXHRcdGxhYmVsID0gJCggJzxzcGFuIGNsYXNzPVwiZWRpdC12aWV3LWZvcm0taXRlbS1sYWJlbFwiPjwvc3Bhbj4nICk7XG5cdFx0Ym94ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Ym94LlRUZXh0SW5wdXQoIHsgZmllbGQ6ICdsMTRjX25hbWUnLCB3aWR0aDogNTAgfSApO1xuXHRcdGJveC5jc3MoICdmbG9hdCcsICdyaWdodCcgKTtcblx0XHRib3guYmluZCggJ2Zvcm1JdGVtQ2hhbmdlJywgZnVuY3Rpb24oIGUsIHRhcmdldCApIHtcblx0XHRcdCR0aGlzLm9uRm9ybUl0ZW1DaGFuZ2UoIHRhcmdldCwgdHJ1ZSApO1xuXHRcdH0gKTtcblxuXHRcdGxhYmVsLnRleHQoICQuaTE4bi5fKCAnQm94IDE0IChPdGhlcik6IE5hbWUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTRkOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTRkX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTRkX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxNGRfbmFtZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTQgKE90aGVyKTogTmFtZScgKSApO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdWlfZGljW2JveC5nZXRGaWVsZCgpXSA9IGJveDtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBib3ggKTtcblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggbGFiZWwgKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQm94JyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBjdXN0b21fbGFiZWxfd2lkZ2V0ICk7XG5cblxuXG5cblxuXG5cblx0XHQvL0JveCAxNGU6XG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxNGVfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxNGVfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldCA9ICQoICc8ZGl2IGNsYXNzPVxcJ2gtYm94XFwnPjwvZGl2PicgKTtcblx0XHRsYWJlbCA9ICQoICc8c3BhbiBjbGFzcz1cImVkaXQtdmlldy1mb3JtLWl0ZW0tbGFiZWxcIj48L3NwYW4+JyApO1xuXHRcdGJveCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGJveC5UVGV4dElucHV0KCB7IGZpZWxkOiAnbDE0ZV9uYW1lJywgd2lkdGg6IDUwIH0gKTtcblx0XHRib3guY3NzKCAnZmxvYXQnLCAncmlnaHQnICk7XG5cdFx0Ym94LmJpbmQoICdmb3JtSXRlbUNoYW5nZScsIGZ1bmN0aW9uKCBlLCB0YXJnZXQgKSB7XG5cdFx0XHQkdGhpcy5vbkZvcm1JdGVtQ2hhbmdlKCB0YXJnZXQsIHRydWUgKTtcblx0XHR9ICk7XG5cblx0XHRsYWJlbC50ZXh0KCAkLmkxOG4uXyggJ0JveCAxNCAoT3RoZXIpOiBOYW1lJyApICk7XG5cblx0XHR0aGlzLmVkaXRfdmlld191aV9kaWNbYm94LmdldEZpZWxkKCldID0gYm94O1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGJveCApO1xuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBsYWJlbCApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdCb3gnICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGN1c3RvbV9sYWJlbF93aWRnZXQgKTtcblxuXHRcdC8vQm94IDE0Zjpcblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDE0Zl9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dCwgJC5pMThuLl8oICdJbmNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXHRcdHZfYm94LmFwcGVuZCggJzxkaXYgY2xhc3M9XFwnY2xlYXItYm90aC1kaXZcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9FeGNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXRfMS5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnbDE0Zl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0ID0gJCggJzxkaXYgY2xhc3M9XFwnaC1ib3hcXCc+PC9kaXY+JyApO1xuXHRcdGxhYmVsID0gJCggJzxzcGFuIGNsYXNzPVwiZWRpdC12aWV3LWZvcm0taXRlbS1sYWJlbFwiPjwvc3Bhbj4nICk7XG5cdFx0Ym94ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Ym94LlRUZXh0SW5wdXQoIHsgZmllbGQ6ICdsMTRmX25hbWUnLCB3aWR0aDogNTAgfSApO1xuXHRcdGJveC5jc3MoICdmbG9hdCcsICdyaWdodCcgKTtcblx0XHRib3guYmluZCggJ2Zvcm1JdGVtQ2hhbmdlJywgZnVuY3Rpb24oIGUsIHRhcmdldCApIHtcblx0XHRcdCR0aGlzLm9uRm9ybUl0ZW1DaGFuZ2UoIHRhcmdldCwgdHJ1ZSApO1xuXHRcdH0gKTtcblxuXHRcdGxhYmVsLnRleHQoICQuaTE4bi5fKCAnQm94IDE0IChPdGhlcik6IE5hbWUnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggMTRnOlxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTRnX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsMTRnX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2wxNGdfbmFtZScsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0LCB0cnVlICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3ggMTQgKE90aGVyKTogTmFtZScgKSApO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdWlfZGljW2JveC5nZXRGaWVsZCgpXSA9IGJveDtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBib3ggKTtcblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggbGFiZWwgKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQm94JyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBjdXN0b21fbGFiZWxfd2lkZ2V0ICk7XG5cblx0XHQvL0JveCAxNGg6XG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxNGhfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2wxNGhfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldCA9ICQoICc8ZGl2IGNsYXNzPVxcJ2gtYm94XFwnPjwvZGl2PicgKTtcblx0XHRsYWJlbCA9ICQoICc8c3BhbiBjbGFzcz1cImVkaXQtdmlldy1mb3JtLWl0ZW0tbGFiZWxcIj48L3NwYW4+JyApO1xuXHRcdGJveCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGJveC5UVGV4dElucHV0KCB7IGZpZWxkOiAnbDE0aF9uYW1lJywgd2lkdGg6IDUwIH0gKTtcblx0XHRib3guY3NzKCAnZmxvYXQnLCAncmlnaHQnICk7XG5cdFx0Ym94LmJpbmQoICdmb3JtSXRlbUNoYW5nZScsIGZ1bmN0aW9uKCBlLCB0YXJnZXQgKSB7XG5cdFx0XHQkdGhpcy5vbkZvcm1JdGVtQ2hhbmdlKCB0YXJnZXQsIHRydWUgKTtcblx0XHR9ICk7XG5cblx0XHRsYWJlbC50ZXh0KCAkLmkxOG4uXyggJ0JveCAxNCAoT3RoZXIpOiBOYW1lJyApICk7XG5cblx0XHR0aGlzLmVkaXRfdmlld191aV9kaWNbYm94LmdldEZpZWxkKCldID0gYm94O1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGJveCApO1xuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBsYWJlbCApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdCb3gnICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGN1c3RvbV9sYWJlbF93aWRnZXQgKTtcblx0fVxuXG5cdGdldEZvcm1TZXR1cERhdGEoKSB7XG5cdFx0dmFyIG90aGVyID0ge307XG5cblx0XHRvdGhlci5mb3JtX3R5cGUgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuZm9ybV90eXBlO1xuXHRcdG90aGVyLmtpbmRfb2ZfZW1wbG95ZXIgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQua2luZF9vZl9lbXBsb3llcjtcblxuXHRcdG90aGVyLmwxID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDFfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDFfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwyID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDJfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDJfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwzID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDNfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDNfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmw0ID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDRfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDRfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmw1ID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDVfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDVfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmw2ID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDZfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDZfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmw3ID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDdfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDdfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmw4ID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDhfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDhfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMCA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMF9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQsXG5cdFx0XHRleGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTBfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMSA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMV9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQsXG5cdFx0XHRleGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTFfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmEgPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJhX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmFfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmIgPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJiX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmJfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmMgPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJjX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmNfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmQgPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJkX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmRfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmUgPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJlX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmVfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmYgPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJmX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmZfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmcgPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJnX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmdfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxMmggPSB7XG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJoX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmhfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fTtcblxuXHRcdG90aGVyLmwxM2IgPSB7XG5cdFx0XHRjb21wYW55X2RlZHVjdGlvbjogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxM2JfY29tcGFueV9kZWR1Y3Rpb25cblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0YSA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGFfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0YV9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0YiA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGJfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0Yl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0YyA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGNfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0Y19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0ZCA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGRfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0ZF9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0ZSA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGVfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0ZV9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0ZiA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGZfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0Zl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0ZyA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGdfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0Z19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDE0aCA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGhfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0aF9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubDEyYV9jb2RlID0gdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmFfY29kZTtcblx0XHRvdGhlci5sMTJiX2NvZGUgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDEyYl9jb2RlO1xuXHRcdG90aGVyLmwxMmNfY29kZSA9IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJjX2NvZGU7XG5cdFx0b3RoZXIubDEyZF9jb2RlID0gdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmRfY29kZTtcblx0XHRvdGhlci5sMTJlX2NvZGUgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDEyZV9jb2RlO1xuXHRcdG90aGVyLmwxMmZfY29kZSA9IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTJmX2NvZGU7XG5cdFx0b3RoZXIubDEyZ19jb2RlID0gdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxMmdfY29kZTtcblx0XHRvdGhlci5sMTJoX2NvZGUgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDEyaF9jb2RlO1xuXHRcdG90aGVyLmwxNGFfbmFtZSA9IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTRhX25hbWU7XG5cdFx0b3RoZXIubDE0Yl9uYW1lID0gdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGJfbmFtZTtcblx0XHRvdGhlci5sMTRjX25hbWUgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0Y19uYW1lO1xuXHRcdG90aGVyLmwxNGRfbmFtZSA9IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTRkX25hbWU7XG5cdFx0b3RoZXIubDE0ZV9uYW1lID0gdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGVfbmFtZTtcblx0XHRvdGhlci5sMTRmX25hbWUgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubDE0Zl9uYW1lO1xuXHRcdG90aGVyLmwxNGdfbmFtZSA9IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5sMTRnX25hbWU7XG5cdFx0b3RoZXIubDE0aF9uYW1lID0gdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmwxNGhfbmFtZTtcblxuXHRcdHJldHVybiBvdGhlcjtcblx0fVxuXG5cdC8qIGpzaGludCBpZ25vcmU6c3RhcnQgKi9cblx0c2V0Rm9ybVNldHVwRGF0YSggcmVzX2RhdGEgKSB7XG5cdFx0aWYgKCAhcmVzX2RhdGEgKSB7XG5cdFx0XHR0aGlzLnNob3dfZW1wdHlfbWVzc2FnZSA9IHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGxldCBiYXRjaF9nZXRfcmVhbF9kYXRhID0gdGhpcy5wcm9jZXNzRm9ybVNldHVwRGF0YUFuZEFkZFRvQmF0Y2goIHJlc19kYXRhLCBbXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdmb3JtX3R5cGUnKSwgZmllbGRfa2V5OiAnZm9ybV90eXBlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdraW5kX29mX2VtcGxveWVyJyksIGZpZWxkX2tleTogJ2tpbmRfb2ZfZW1wbG95ZXInLCBhcGk6IG51bGwgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wxJyksIGZpZWxkX2tleTogJ2wxJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wyJyksIGZpZWxkX2tleTogJ2wyJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wzJyksIGZpZWxkX2tleTogJ2wzJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2w0JyksIGZpZWxkX2tleTogJ2w0JywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2w1JyksIGZpZWxkX2tleTogJ2w1JywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2w2JyksIGZpZWxkX2tleTogJ2w2JywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2w3JyksIGZpZWxkX2tleTogJ2w3JywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2w4JyksIGZpZWxkX2tleTogJ2w4JywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wxMCcpLCBmaWVsZF9rZXk6ICdsMTAnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnbDExJyksIGZpZWxkX2tleTogJ2wxMScsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJhJyksIGZpZWxkX2tleTogJ2wxMmEnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnbDEyYicpLCBmaWVsZF9rZXk6ICdsMTJiJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wxMmMnKSwgZmllbGRfa2V5OiAnbDEyYycsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJkJyksIGZpZWxkX2tleTogJ2wxMmQnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnbDEyZScpLCBmaWVsZF9rZXk6ICdsMTJlJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wxMmYnKSwgZmllbGRfa2V5OiAnbDEyZicsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJnJyksIGZpZWxkX2tleTogJ2wxMmcnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnbDEyaCcpLCBmaWVsZF9rZXk6ICdsMTJoJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiAgXy5nZXQocmVzX2RhdGEsIFsnbDEzYicsICdjb21wYW55X2RlZHVjdGlvbiddKSwgZmllbGRfa2V5OiAnbDEzYl9jb21wYW55X2RlZHVjdGlvbicsIGFwaTogbnVsbCB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnbDE0YScpLCBmaWVsZF9rZXk6ICdsMTRhJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wxNGInKSwgZmllbGRfa2V5OiAnbDE0YicsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRjJyksIGZpZWxkX2tleTogJ2wxNGMnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnbDE0ZCcpLCBmaWVsZF9rZXk6ICdsMTRkJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wxNGUnKSwgZmllbGRfa2V5OiAnbDE0ZScsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRmJyksIGZpZWxkX2tleTogJ2wxNGYnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnbDE0ZycpLCBmaWVsZF9rZXk6ICdsMTRnJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2wxNGgnKSwgZmllbGRfa2V5OiAnbDE0aCcsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJhX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyYV9jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJiX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyYl9jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJjX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyY19jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJkX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyZF9jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJlX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyZV9jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJmX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyZl9jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJnX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyZ19jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTJoX2NvZGUnKSwgZmllbGRfa2V5OiAnbDEyaF9jb2RlJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRhX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0YV9uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRiX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0Yl9uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRjX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0Y19uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRkX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0ZF9uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRlX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0ZV9uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRmX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0Zl9uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRnX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0Z19uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdsMTRoX25hbWUnKSwgZmllbGRfa2V5OiAnbDE0aF9uYW1lJywgYXBpOiBudWxsIH0sXG5cdFx0XHRdICk7XG5cblx0XHRcdHRoaXMuZ2V0QmF0Y2hlZFJlYWxGb3JtRGF0YUZyb21BUEkoIGJhdGNoX2dldF9yZWFsX2RhdGEgKTtcblx0XHR9XG5cdH1cblxuXHQvKiBqc2hpbnQgaWdub3JlOmVuZCAqL1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///7705\n")}}]);