1 line
47 KiB
JavaScript
1 line
47 KiB
JavaScript
"use strict";(self.webpackChunktimetrex=self.webpackChunktimetrex||[]).push([["policy-pay_formula_policy-PayFormulaPolicyViewController"],{5787:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PayFormulaPolicyViewController\": () => (/* binding */ PayFormulaPolicyViewController)\n/* harmony export */ });\n/* provided dependency */ var _ = __webpack_require__(9050);\n/* provided dependency */ var $ = __webpack_require__(9755);\nclass PayFormulaPolicyViewController extends BaseViewController {\n\tconstructor( options = {} ) {\n\t\t_.defaults( options, {\n\t\t\tel: '#pay_formula_policy_view_container',\n\n\t\t\ttype_array: null,\n\t\t\tpay_type_array: null,\n\t\t\twage_source_type_array: null\n\t\t} );\n\n\t\tsuper( options );\n\t}\n\n\tinit( options ) {\n\t\t//this._super('initialize', options );\n\t\tthis.edit_view_tpl = 'PayFormulaPolicyEditView.html';\n\t\tthis.permission_id = 'pay_formula_policy';\n\t\tthis.viewId = 'PayFormulaPolicy';\n\t\tthis.script_name = 'PayFormulaPolicyView';\n\t\tthis.table_name_key = 'pay_formula_policy';\n\t\tthis.context_menu_name = $.i18n._( 'Pay Formula Policy' );\n\t\tthis.navigation_label = $.i18n._( 'Pay Formula Policy' );\n\t\tthis.api = TTAPI.APIPayFormulaPolicy;\n\n\t\tthis.render();\n\t\tthis.buildContextMenu();\n\n\t\tthis.initData();\n\t}\n\n\tinitOptions() {\n\t\tvar $this = this;\n\t\tthis.initDropDownOption( 'pay_type' );\n\t\tthis.initDropDownOption( 'wage_source_type' );\n\t}\n\n\tbuildEditViewUI() {\n\n\t\tsuper.buildEditViewUI();\n\n\t\tvar $this = this;\n\n\t\tvar tab_model = {\n\t\t\t'tab_pay_formula_policy': { 'label': $.i18n._( 'Pay Formula Policy' ) },\n\t\t\t'tab_audit': true,\n\t\t};\n\t\tthis.setTabModel( tab_model );\n\n\t\tthis.navigation.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayFormulaPolicy,\n\t\t\tid: this.script_name + '_navigation',\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_pay_code',\n\t\t\tnavigation_mode: true,\n\t\t\tshow_search_inputs: true\n\t\t} );\n\n\t\tthis.setNavigation();\n\n\t\t//Tab 0 start\n\n\t\tvar tab_pay_formula_policy = this.edit_view_tab.find( '#tab_pay_formula_policy' );\n\n\t\tvar tab_pay_formula_policy_column1 = tab_pay_formula_policy.find( '.first-column' );\n\n\t\tthis.edit_view_tabs[0] = [];\n\n\t\tthis.edit_view_tabs[0].push( tab_pay_formula_policy_column1 );\n\n\t\tvar form_item_input;\n\t\tvar widgetContainer;\n\t\tvar label;\n\n\t\t//Name\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\n\t\tform_item_input.TTextInput( { field: 'name', width: '100%' } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Name' ), form_item_input, tab_pay_formula_policy_column1, '' );\n\n\t\tform_item_input.parent().width( '45%' );\n\n\t\t// Description\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_AREA );\n\t\tform_item_input.TTextArea( { field: 'description', width: '100%' } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Description' ), form_item_input, tab_pay_formula_policy_column1, '', null, null, true );\n\n\t\tform_item_input.parent().width( '45%' );\n\n\t\t// Pay Type\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( { field: 'pay_type_id', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.pay_type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Pay Type' ), form_item_input, tab_pay_formula_policy_column1 );\n\n\t\t// Wage Source\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( { field: 'wage_source_type_id', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.wage_source_type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Wage Source' ), form_item_input, tab_pay_formula_policy_column1, '', null, true );\n\n\t\t//Wage Source Contributing Shift\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIContributingShiftPolicy,\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_contributing_shift_policy',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'wage_source_contributing_shift_policy_id'\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Wage Source Contributing Shift Policy' ), form_item_input, tab_pay_formula_policy_column1, '', null, true );\n\n\t\t//Time Source Contributing Shift\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIContributingShiftPolicy,\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_contributing_shift_policy',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'time_source_contributing_shift_policy_id'\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Time Source Contributing Shift Policy' ), form_item_input, tab_pay_formula_policy_column1, '', null, true );\n\n\n\t\t//Average Days\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( { field: 'average_days', width: 65 } );\n\n\t\twidgetContainer = $( '<div class=\\'widget-h-box\\'></div>' );\n\t\tlabel = $( '<span class=\\'widget-right-label\\'> (' + $.i18n._( 'days' ) + ')</span>' );\n\n\t\twidgetContainer.append( form_item_input );\n\t\twidgetContainer.append( label );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Average Rate Over' ), form_item_input, tab_pay_formula_policy_column1, '', widgetContainer, true );\n\n\n\t\t// Premium\n\t\t// Hourly Rate\n\t\t// Rate\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( { field: 'rate', width: 65 } );\n\n\t\twidgetContainer = $( '<div class=\\'widget-h-box\\'></div>' );\n\t\tlabel = $( '<span class=\\'widget-right-label\\'> (' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '1.5 for time and a half' ) + ')</span>' );\n\n\t\twidgetContainer.append( form_item_input );\n\t\twidgetContainer.append( label );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Rate' ), form_item_input, tab_pay_formula_policy_column1, '', widgetContainer, true );\n\n\t\t// Wage Group\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIWageGroup,\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_wage_group',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_default: true,\n\t\t\tfield: 'wage_group_id'\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Wage Group' ), form_item_input, tab_pay_formula_policy_column1, '', null, true );\n\n\t\t// Deposit Accrual Policy Account\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIAccrualPolicyAccount,\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_accrual_policy_account',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'accrual_policy_account_id'\n\t\t} );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Accrual Account' ), form_item_input, tab_pay_formula_policy_column1, '' );\n\n\t\t// Accrual Rate\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( { field: 'accrual_rate', width: 100 } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Accrual Rate' ), form_item_input, tab_pay_formula_policy_column1, '', null, true );\n\n\t\tif ( Global.getProductEdition() >= 15 ) {\n\t\t\t// Accrual Balance Threshold\n\t\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\t\tform_item_input.TTextInput( {\n\t\t\t\tfield: 'accrual_balance_threshold',\n\t\t\t\tmode: 'time_unit',\n\t\t\t\tneed_parser_sec: true\n\t\t\t} );\n\n\t\t\twidgetContainer = $( '<div class=\\'widget-h-box\\'></div>' );\n\t\t\tlabel = $( '<span class=\\'widget-right-label\\'> (' + $.i18n._( 'Maximum Balance' ) + ')</span>' );\n\n\t\t\twidgetContainer.append( form_item_input );\n\t\t\twidgetContainer.append( label );\n\n\t\t\tthis.addEditFieldToColumn( $.i18n._( 'Accrual Balance Threshold' ), form_item_input, tab_pay_formula_policy_column1, '', widgetContainer, true );\n\n\t\t\t// Accrual Balance Threshold Fallback Accrual Policy Account\n\t\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\t\tform_item_input.AComboBox( {\n\t\t\t\tapi_class: TTAPI.APIAccrualPolicyAccount,\n\t\t\t\tallow_multiple_selection: false,\n\t\t\t\tlayout_name: 'global_accrual_policy_account',\n\t\t\t\tshow_search_inputs: true,\n\t\t\t\tset_empty: true,\n\t\t\t\tfield: 'accrual_balance_threshold_fallback_accrual_policy_account_id'\n\t\t\t} );\n\t\t\tthis.addEditFieldToColumn( $.i18n._( 'Accrual Balance Threshold Fallback' ), form_item_input, tab_pay_formula_policy_column1, '', null, true );\n\t\t}\n\t}\n\n\tsetCurrentEditRecordData() {\n\n\t\t// When mass editing, these fields may not be the common data, so their value will be undefined, so this will cause their change event cannot work properly.\n\t\tthis.setDefaultData( {\n\t\t\t'pay_type_id': 10,\n\t\t\t'wage_source_type_id': 10\n\t\t} );\n\n\t\t//Set current edit record data to all widgets\n\t\tfor ( var key in this.current_edit_record ) {\n\n\t\t\tif ( !this.current_edit_record.hasOwnProperty( key ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar widget = this.edit_view_ui_dic[key];\n\t\t\tif ( Global.isSet( widget ) ) {\n\t\t\t\tswitch ( key ) {\n\t\t\t\t\tdefault:\n\t\t\t\t\t\twidget.setValue( this.current_edit_record[key] );\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\tthis.collectUIDataToCurrentEditRecord();\n\t\tthis.onAccrualRateChange();\n\t\tthis.onPayTypeChange();\n\t\tthis.onWageSourceTypeChange();\n\t\tthis.onAccrualAccountChange();\n\n\t\tthis.setEditViewDataDone();\n\t}\n\n\tonAccrualRateChange() {\n\t\t//Issue #2956 - TypeError: this.edit_view_form_item_dic.accrual_balance_threshold is undefined\n\t\tif ( !this.edit_view_form_item_dic['accrual_balance_threshold'] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar label;\n\t\tif ( Math.sign( this.current_edit_record.accrual_rate ) < 0 ) {\n\t\t\tlabel = $.i18n._( 'Minimum Balance' );\n\t\t} else {\n\t\t\tlabel = $.i18n._( 'Maximum Balance' );\n\t\t}\n\n\t\tthis.edit_view_form_item_dic['accrual_balance_threshold'].find( '.widget-right-label' ).text( '(' + label + ')' );\n\t}\n\n\tonPayTypeChange() {\n\t\tthis.attachElement( 'rate' );\n\t\tthis.detachElement( 'wage_group_id' );\n\t\tthis.detachElement( 'wage_source_type_id' );\n\t\tthis.detachElement( 'wage_source_contributing_shift_policy_id' );\n\t\tthis.detachElement( 'time_source_contributing_shift_policy_id' );\n\n\t\tif ( this.current_edit_record['pay_type_id'] == 10 ) {\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.edit-view-form-item-label' ).text( $.i18n._( 'Rate' ) );\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.widget-right-label' ).text( '(' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '1.5 for time and a half' ) + ')' );\n\t\t\tthis.attachElement( 'wage_group_id' );\n\t\t\tthis.attachElement( 'wage_source_type_id' );\n\t\t} else if ( this.current_edit_record['pay_type_id'] == 30 || this.current_edit_record['pay_type_id'] == 34 || this.current_edit_record['pay_type_id'] == 40 ) {\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.edit-view-form-item-label' ).text( $.i18n._( 'Hourly Rate' ) );\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.widget-right-label' ).text( '(' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '10.00/hr' ) + ')' );\n\t\t\tthis.attachElement( 'wage_group_id' );\n\t\t\tthis.attachElement( 'wage_source_type_id' );\n\t\t} else if ( this.current_edit_record['pay_type_id'] == 50 ) {\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.edit-view-form-item-label' ).text( $.i18n._( 'Premium' ) );\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.widget-right-label' ).text( '(' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '0.75 for 75 cent/hr' ) + ')' );\n\t\t\tthis.attachElement( 'wage_group_id' );\n\t\t\tthis.attachElement( 'wage_source_type_id' );\n\t\t} else if ( this.current_edit_record['pay_type_id'] == 32 ) {\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.edit-view-form-item-label' ).text( $.i18n._( 'Hourly Rate' ) );\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.widget-right-label' ).text( '(' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '10.00/hr' ) + ')' );\n\t\t} else if ( this.current_edit_record['pay_type_id'] == 42 ) {\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.edit-view-form-item-label' ).text( $.i18n._( 'Hourly Rate' ) );\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.widget-right-label' ).text( '(' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '10.00/hr' ) + ')' );\n\t\t\tthis.attachElement( 'wage_group_id' );\n\t\t\tthis.attachElement( 'wage_source_type_id' );\n\t\t} else if ( this.current_edit_record['pay_type_id'] == 60 ) { //60=Daily Rate\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.edit-view-form-item-label' ).text( $.i18n._( 'Daily Rate' ) );\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.widget-right-label' ).text( '(' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '100.00/day' ) + ')' );\n\t\t\tthis.attachElement( 'wage_group_id' );\n\t\t\t//this.attachElement( 'wage_source_type_id' ); //Don't attach wage source as that is forced to Wage Group. But we need to specify the Wage Group still.\n\t\t} else if ( this.current_edit_record['pay_type_id'] == 70 ) { //70=Daily Rate (Average)\n\t\t\tthis.detachElement( 'rate' ); //Rate can't be specified as its all an average.\n\t\t} else if ( this.current_edit_record['pay_type_id'] == 200 ) { //200=Piece Rate (per Good Quantity)\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.edit-view-form-item-label' ).text( $.i18n._( 'Piece Rate' ) );\n\t\t\tthis.edit_view_form_item_dic['rate'].find( '.widget-right-label' ).text( '(' + $.i18n._( 'ie' ) + ': ' + $.i18n._( '$1.00 per Good Quantity' ) + ')' );\n\t\t}\n\n\t\tthis.editFieldResize();\n\n\t\tthis.onWageSourceTypeChange();\n\t}\n\n\tonWageSourceTypeChange() {\n\t\tthis.detachElement( 'wage_source_contributing_shift_policy_id' );\n\t\tthis.detachElement( 'time_source_contributing_shift_policy_id' );\n\t\tthis.detachElement( 'wage_group_id' );\n\t\tthis.detachElement( 'average_days' );\n\n\t\t//Only display these fields if wage_source_type_id is also displayed.\n\t\tif ( this.edit_view_form_item_dic['wage_source_type_id'].css( 'display' ) === 'block' ) {\n\t\t\tif ( this.current_edit_record['wage_source_type_id'] == 10 ) { //10=Wage Group\n\t\t\t\tthis.attachElement( 'wage_group_id' );\n\t\t\t} else if ( this.current_edit_record['wage_source_type_id'] == 30 ) { //30=Averaging\n\t\t\t\tthis.attachElement( 'wage_source_contributing_shift_policy_id' );\n\t\t\t\tthis.attachElement( 'time_source_contributing_shift_policy_id' );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( this.current_edit_record['pay_type_id'] == 60 ) { //60=Daily Rate (w/Default). Forced to \"Wage Group\" wage_source_type_id\n\t\t\t\tthis.attachElement( 'wage_group_id' );\n\t\t\t} else if ( this.current_edit_record['pay_type_id'] == 70 ) { //70=Daily Rate (Averaging)\n\t\t\t\tthis.attachElement( 'wage_source_contributing_shift_policy_id' );\n\t\t\t\tthis.attachElement( 'time_source_contributing_shift_policy_id' );\n\t\t\t\tthis.attachElement( 'average_days' );\n\t\t\t}\n\t\t}\n\n\t\tthis.editFieldResize();\n\t}\n\n\tonAccrualAccountChange() {\n\t\tif ( this.current_edit_record['accrual_policy_account_id'] === false || typeof this.current_edit_record['accrual_policy_account_id'] == 'undefined' || this.current_edit_record['accrual_policy_account_id'] == TTUUID.zero_id ) {\n\t\t\tthis.detachElement( 'accrual_rate' );\n\t\t\tthis.detachElement( 'accrual_balance_threshold' );\n\t\t\tthis.detachElement( 'accrual_balance_threshold_fallback_accrual_policy_account_id' );\n\t\t} else {\n\t\t\tthis.attachElement( 'accrual_rate' );\n\t\t\tthis.attachElement( 'accrual_balance_threshold' );\n\t\t\tthis.attachElement( 'accrual_balance_threshold_fallback_accrual_policy_account_id' );\n\t\t}\n\n\t\tthis.editFieldResize();\n\t}\n\n\tonFormItemChange( target ) {\n\t\tthis.is_changed = true;\n\t\tthis.setMassEditingFieldsWhenFormChange( target );\n\n\t\tvar key = target.getField();\n\t\tvar c_value = target.getValue();\n\n\t\tthis.current_edit_record[key] = c_value;\n\n\t\tif ( key === 'accrual_rate' ) {\n\t\t\tthis.onAccrualRateChange();\n\t\t}\n\n\t\tif ( key === 'pay_type_id' ) {\n\t\t\tthis.onPayTypeChange();\n\t\t}\n\n\t\tif ( key === 'wage_source_type_id' ) {\n\t\t\tthis.onWageSourceTypeChange();\n\t\t}\n\n\t\tif ( key === 'accrual_policy_account_id' ) {\n\t\t\tthis.onAccrualAccountChange();\n\t\t}\n\n\t\tthis.validate();\n\t}\n\n\tbuildSearchFields() {\n\n\t\tsuper.buildSearchFields();\n\t\tthis.search_fields = [\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Name' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'name',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Pay Type' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'pay_type_id',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Deposit to Accrual Policy' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'accrual_policy_account_id',\n\t\t\t\tlayout_name: 'global_accrual_policy_account',\n\t\t\t\tapi_class: TTAPI.APIAccrualPolicyAccount,\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n//\n//\t\t\tnew SearchField( {label: $.i18n._( 'Pay Stub Account' ),\n//\t\t\t\tin_column: 1,\n//\t\t\t\tfield: 'pay_stub_entry_account_id',\n//\t\t\t\tlayout_name: 'global_PayStubAccount',\n//\t\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n//\t\t\t\tmultiple: true,\n//\t\t\t\tbasic_search: true,\n//\t\t\t\tadv_search: false,\n//\t\t\t\tform_item_type: FormItemType.AWESOME_BOX} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Created By' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'created_by',\n\t\t\t\tlayout_name: 'global_user',\n\t\t\t\tapi_class: TTAPI.APIUser,\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Updated By' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'updated_by',\n\t\t\t\tlayout_name: 'global_user',\n\t\t\t\tapi_class: TTAPI.APIUser,\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} )\n\t\t];\n\t}\n\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLFdBQVcsQ0FBQztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7O0FBRWhEO0FBQ0EsV0FBVyxDQUFDO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxXQUFXLENBQUM7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9pbnRlcmZhY2UvaHRtbDUvdmlld3MvcG9saWN5L3BheV9mb3JtdWxhX3BvbGljeS9QYXlGb3JtdWxhUG9saWN5Vmlld0NvbnRyb2xsZXIuanM/ZWY2YyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUGF5Rm9ybXVsYVBvbGljeVZpZXdDb250cm9sbGVyIGV4dGVuZHMgQmFzZVZpZXdDb250cm9sbGVyIHtcblx0Y29uc3RydWN0b3IoIG9wdGlvbnMgPSB7fSApIHtcblx0XHRfLmRlZmF1bHRzKCBvcHRpb25zLCB7XG5cdFx0XHRlbDogJyNwYXlfZm9ybXVsYV9wb2xpY3lfdmlld19jb250YWluZXInLFxuXG5cdFx0XHR0eXBlX2FycmF5OiBudWxsLFxuXHRcdFx0cGF5X3R5cGVfYXJyYXk6IG51bGwsXG5cdFx0XHR3YWdlX3NvdXJjZV90eXBlX2FycmF5OiBudWxsXG5cdFx0fSApO1xuXG5cdFx0c3VwZXIoIG9wdGlvbnMgKTtcblx0fVxuXG5cdGluaXQoIG9wdGlvbnMgKSB7XG5cdFx0Ly90aGlzLl9zdXBlcignaW5pdGlhbGl6ZScsIG9wdGlvbnMgKTtcblx0XHR0aGlzLmVkaXRfdmlld190cGwgPSAnUGF5Rm9ybXVsYVBvbGljeUVkaXRWaWV3Lmh0bWwnO1xuXHRcdHRoaXMucGVybWlzc2lvbl9pZCA9ICdwYXlfZm9ybXVsYV9wb2xpY3knO1xuXHRcdHRoaXMudmlld0lkID0gJ1BheUZvcm11bGFQb2xpY3knO1xuXHRcdHRoaXMuc2NyaXB0X25hbWUgPSAnUGF5Rm9ybXVsYVBvbGljeVZpZXcnO1xuXHRcdHRoaXMudGFibGVfbmFtZV9rZXkgPSAncGF5X2Zvcm11bGFfcG9saWN5Jztcblx0XHR0aGlzLmNvbnRleHRfbWVudV9uYW1lID0gJC5pMThuLl8oICdQYXkgRm9ybXVsYSBQb2xpY3knICk7XG5cdFx0dGhpcy5uYXZpZ2F0aW9uX2xhYmVsID0gJC5pMThuLl8oICdQYXkgRm9ybXVsYSBQb2xpY3knICk7XG5cdFx0dGhpcy5hcGkgPSBUVEFQSS5BUElQYXlGb3JtdWxhUG9saWN5O1xuXG5cdFx0dGhpcy5yZW5kZXIoKTtcblx0XHR0aGlzLmJ1aWxkQ29udGV4dE1lbnUoKTtcblxuXHRcdHRoaXMuaW5pdERhdGEoKTtcblx0fVxuXG5cdGluaXRPcHRpb25zKCkge1xuXHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cdFx0dGhpcy5pbml0RHJvcERvd25PcHRpb24oICdwYXlfdHlwZScgKTtcblx0XHR0aGlzLmluaXREcm9wRG93bk9wdGlvbiggJ3dhZ2Vfc291cmNlX3R5cGUnICk7XG5cdH1cblxuXHRidWlsZEVkaXRWaWV3VUkoKSB7XG5cblx0XHRzdXBlci5idWlsZEVkaXRWaWV3VUkoKTtcblxuXHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cblx0XHR2YXIgdGFiX21vZGVsID0ge1xuXHRcdFx0J3RhYl9wYXlfZm9ybXVsYV9wb2xpY3knOiB7ICdsYWJlbCc6ICQuaTE4bi5fKCAnUGF5IEZvcm11bGEgUG9saWN5JyApIH0sXG5cdFx0XHQndGFiX2F1ZGl0JzogdHJ1ZSxcblx0XHR9O1xuXHRcdHRoaXMuc2V0VGFiTW9kZWwoIHRhYl9tb2RlbCApO1xuXG5cdFx0dGhpcy5uYXZpZ2F0aW9uLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlGb3JtdWxhUG9saWN5LFxuXHRcdFx0aWQ6IHRoaXMuc2NyaXB0X25hbWUgKyAnX25hdmlnYXRpb24nLFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiBmYWxzZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX3BheV9jb2RlJyxcblx0XHRcdG5hdmlnYXRpb25fbW9kZTogdHJ1ZSxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZVxuXHRcdH0gKTtcblxuXHRcdHRoaXMuc2V0TmF2aWdhdGlvbigpO1xuXG5cdFx0Ly9UYWIgMCBzdGFydFxuXG5cdFx0dmFyIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3kgPSB0aGlzLmVkaXRfdmlld190YWIuZmluZCggJyN0YWJfcGF5X2Zvcm11bGFfcG9saWN5JyApO1xuXG5cdFx0dmFyIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSA9IHRhYl9wYXlfZm9ybXVsYV9wb2xpY3kuZmluZCggJy5maXJzdC1jb2x1bW4nICk7XG5cblx0XHR0aGlzLmVkaXRfdmlld190YWJzWzBdID0gW107XG5cblx0XHR0aGlzLmVkaXRfdmlld190YWJzWzBdLnB1c2goIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSApO1xuXG5cdFx0dmFyIGZvcm1faXRlbV9pbnB1dDtcblx0XHR2YXIgd2lkZ2V0Q29udGFpbmVyO1xuXHRcdHZhciBsYWJlbDtcblxuXHRcdC8vTmFtZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRUZXh0SW5wdXQoIHsgZmllbGQ6ICduYW1lJywgd2lkdGg6ICcxMDAlJyB9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdOYW1lJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSwgJycgKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5wYXJlbnQoKS53aWR0aCggJzQ1JScgKTtcblxuXHRcdC8vIERlc2NyaXB0aW9uXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0FSRUEgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRBcmVhKCB7IGZpZWxkOiAnZGVzY3JpcHRpb24nLCB3aWR0aDogJzEwMCUnIH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0Rlc2NyaXB0aW9uJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIG51bGwsIHRydWUgKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5wYXJlbnQoKS53aWR0aCggJzQ1JScgKTtcblxuXHRcdC8vIFBheSBUeXBlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7IGZpZWxkOiAncGF5X3R5cGVfaWQnLCBzZXRfZW1wdHk6IGZhbHNlIH0gKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuc2V0U291cmNlRGF0YSggJHRoaXMucGF5X3R5cGVfYXJyYXkgKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1BheSBUeXBlJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSApO1xuXG5cdFx0Ly8gV2FnZSBTb3VyY2Vcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkNPTUJPX0JPWCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UQ29tYm9Cb3goIHsgZmllbGQ6ICd3YWdlX3NvdXJjZV90eXBlX2lkJywgc2V0X2VtcHR5OiBmYWxzZSB9ICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldFNvdXJjZURhdGEoICR0aGlzLndhZ2Vfc291cmNlX3R5cGVfYXJyYXkgKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1dhZ2UgU291cmNlJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblxuXHRcdC8vV2FnZSBTb3VyY2UgQ29udHJpYnV0aW5nIFNoaWZ0XG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJQ29udHJpYnV0aW5nU2hpZnRQb2xpY3ksXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IGZhbHNlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfY29udHJpYnV0aW5nX3NoaWZ0X3BvbGljeScsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ3dhZ2Vfc291cmNlX2NvbnRyaWJ1dGluZ19zaGlmdF9wb2xpY3lfaWQnXG5cdFx0fSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnV2FnZSBTb3VyY2UgQ29udHJpYnV0aW5nIFNoaWZ0IFBvbGljeScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfcGF5X2Zvcm11bGFfcG9saWN5X2NvbHVtbjEsICcnLCBudWxsLCB0cnVlICk7XG5cblx0XHQvL1RpbWUgU291cmNlIENvbnRyaWJ1dGluZyBTaGlmdFxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSUNvbnRyaWJ1dGluZ1NoaWZ0UG9saWN5LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiBmYWxzZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX2NvbnRyaWJ1dGluZ19zaGlmdF9wb2xpY3knLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICd0aW1lX3NvdXJjZV9jb250cmlidXRpbmdfc2hpZnRfcG9saWN5X2lkJ1xuXHRcdH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1RpbWUgU291cmNlIENvbnRyaWJ1dGluZyBTaGlmdCBQb2xpY3knICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX3BheV9mb3JtdWxhX3BvbGljeV9jb2x1bW4xLCAnJywgbnVsbCwgdHJ1ZSApO1xuXG5cblx0XHQvL0F2ZXJhZ2UgRGF5c1xuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7IGZpZWxkOiAnYXZlcmFnZV9kYXlzJywgd2lkdGg6IDY1IH0gKTtcblxuXHRcdHdpZGdldENvbnRhaW5lciA9ICQoICc8ZGl2IGNsYXNzPVxcJ3dpZGdldC1oLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XFwnd2lkZ2V0LXJpZ2h0LWxhYmVsXFwnPiAoJyArICQuaTE4bi5fKCAnZGF5cycgKSArICcpPC9zcGFuPicgKTtcblxuXHRcdHdpZGdldENvbnRhaW5lci5hcHBlbmQoIGZvcm1faXRlbV9pbnB1dCApO1xuXHRcdHdpZGdldENvbnRhaW5lci5hcHBlbmQoIGxhYmVsICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdBdmVyYWdlIFJhdGUgT3ZlcicgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfcGF5X2Zvcm11bGFfcG9saWN5X2NvbHVtbjEsICcnLCB3aWRnZXRDb250YWluZXIsIHRydWUgKTtcblxuXG5cdFx0Ly8gUHJlbWl1bVxuXHRcdC8vIEhvdXJseSBSYXRlXG5cdFx0Ly8gUmF0ZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7IGZpZWxkOiAncmF0ZScsIHdpZHRoOiA2NSB9ICk7XG5cblx0XHR3aWRnZXRDb250YWluZXIgPSAkKCAnPGRpdiBjbGFzcz1cXCd3aWRnZXQtaC1ib3hcXCc+PC9kaXY+JyApO1xuXHRcdGxhYmVsID0gJCggJzxzcGFuIGNsYXNzPVxcJ3dpZGdldC1yaWdodC1sYWJlbFxcJz4gKCcgKyAkLmkxOG4uXyggJ2llJyApICsgJzogJyArICQuaTE4bi5fKCAnMS41IGZvciB0aW1lIGFuZCBhIGhhbGYnICkgKyAnKTwvc3Bhbj4nICk7XG5cblx0XHR3aWRnZXRDb250YWluZXIuYXBwZW5kKCBmb3JtX2l0ZW1faW5wdXQgKTtcblx0XHR3aWRnZXRDb250YWluZXIuYXBwZW5kKCBsYWJlbCApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnUmF0ZScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfcGF5X2Zvcm11bGFfcG9saWN5X2NvbHVtbjEsICcnLCB3aWRnZXRDb250YWluZXIsIHRydWUgKTtcblxuXHRcdC8vIFdhZ2UgR3JvdXBcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElXYWdlR3JvdXAsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IGZhbHNlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfd2FnZV9ncm91cCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZGVmYXVsdDogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnd2FnZV9ncm91cF9pZCdcblx0XHR9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdXYWdlIEdyb3VwJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblxuXHRcdC8vIERlcG9zaXQgQWNjcnVhbCBQb2xpY3kgQWNjb3VudFxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSUFjY3J1YWxQb2xpY3lBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiBmYWxzZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX2FjY3J1YWxfcG9saWN5X2FjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdhY2NydWFsX3BvbGljeV9hY2NvdW50X2lkJ1xuXHRcdH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0FjY3J1YWwgQWNjb3VudCcgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfcGF5X2Zvcm11bGFfcG9saWN5X2NvbHVtbjEsICcnICk7XG5cblx0XHQvLyBBY2NydWFsIFJhdGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCggeyBmaWVsZDogJ2FjY3J1YWxfcmF0ZScsIHdpZHRoOiAxMDAgfSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQWNjcnVhbCBSYXRlJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblxuXHRcdGlmICggR2xvYmFsLmdldFByb2R1Y3RFZGl0aW9uKCkgPj0gMTUgKSB7XG5cdFx0XHQvLyBBY2NydWFsIEJhbGFuY2UgVGhyZXNob2xkXG5cdFx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7XG5cdFx0XHRcdGZpZWxkOiAnYWNjcnVhbF9iYWxhbmNlX3RocmVzaG9sZCcsXG5cdFx0XHRcdG1vZGU6ICd0aW1lX3VuaXQnLFxuXHRcdFx0XHRuZWVkX3BhcnNlcl9zZWM6IHRydWVcblx0XHRcdH0gKTtcblxuXHRcdFx0d2lkZ2V0Q29udGFpbmVyID0gJCggJzxkaXYgY2xhc3M9XFwnd2lkZ2V0LWgtYm94XFwnPjwvZGl2PicgKTtcblx0XHRcdGxhYmVsID0gJCggJzxzcGFuIGNsYXNzPVxcJ3dpZGdldC1yaWdodC1sYWJlbFxcJz4gKCcgKyAkLmkxOG4uXyggJ01heGltdW0gQmFsYW5jZScgKSArICcpPC9zcGFuPicgKTtcblxuXHRcdFx0d2lkZ2V0Q29udGFpbmVyLmFwcGVuZCggZm9ybV9pdGVtX2lucHV0ICk7XG5cdFx0XHR3aWRnZXRDb250YWluZXIuYXBwZW5kKCBsYWJlbCApO1xuXG5cdFx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0FjY3J1YWwgQmFsYW5jZSBUaHJlc2hvbGQnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX3BheV9mb3JtdWxhX3BvbGljeV9jb2x1bW4xLCAnJywgd2lkZ2V0Q29udGFpbmVyLCB0cnVlICk7XG5cblx0XHRcdC8vIEFjY3J1YWwgQmFsYW5jZSBUaHJlc2hvbGQgRmFsbGJhY2sgQWNjcnVhbCBQb2xpY3kgQWNjb3VudFxuXHRcdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXHRcdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSUFjY3J1YWxQb2xpY3lBY2NvdW50LFxuXHRcdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IGZhbHNlLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9hY2NydWFsX3BvbGljeV9hY2NvdW50Jyxcblx0XHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRcdGZpZWxkOiAnYWNjcnVhbF9iYWxhbmNlX3RocmVzaG9sZF9mYWxsYmFja19hY2NydWFsX3BvbGljeV9hY2NvdW50X2lkJ1xuXHRcdFx0fSApO1xuXHRcdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdBY2NydWFsIEJhbGFuY2UgVGhyZXNob2xkIEZhbGxiYWNrJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9wYXlfZm9ybXVsYV9wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblx0XHR9XG5cdH1cblxuXHRzZXRDdXJyZW50RWRpdFJlY29yZERhdGEoKSB7XG5cblx0XHQvLyBXaGVuIG1hc3MgZWRpdGluZywgdGhlc2UgZmllbGRzIG1heSBub3QgYmUgdGhlIGNvbW1vbiBkYXRhLCBzbyB0aGVpciB2YWx1ZSB3aWxsIGJlIHVuZGVmaW5lZCwgc28gdGhpcyB3aWxsIGNhdXNlIHRoZWlyIGNoYW5nZSBldmVudCBjYW5ub3Qgd29yayBwcm9wZXJseS5cblx0XHR0aGlzLnNldERlZmF1bHREYXRhKCB7XG5cdFx0XHQncGF5X3R5cGVfaWQnOiAxMCxcblx0XHRcdCd3YWdlX3NvdXJjZV90eXBlX2lkJzogMTBcblx0XHR9ICk7XG5cblx0XHQvL1NldCBjdXJyZW50IGVkaXQgcmVjb3JkIGRhdGEgdG8gYWxsIHdpZGdldHNcblx0XHRmb3IgKCB2YXIga2V5IGluIHRoaXMuY3VycmVudF9lZGl0X3JlY29yZCApIHtcblxuXHRcdFx0aWYgKCAhdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmhhc093blByb3BlcnR5KCBrZXkgKSApIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdHZhciB3aWRnZXQgPSB0aGlzLmVkaXRfdmlld191aV9kaWNba2V5XTtcblx0XHRcdGlmICggR2xvYmFsLmlzU2V0KCB3aWRnZXQgKSApIHtcblx0XHRcdFx0c3dpdGNoICgga2V5ICkge1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHR3aWRnZXQuc2V0VmFsdWUoIHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFtrZXldICk7XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5jb2xsZWN0VUlEYXRhVG9DdXJyZW50RWRpdFJlY29yZCgpO1xuXHRcdHRoaXMub25BY2NydWFsUmF0ZUNoYW5nZSgpO1xuXHRcdHRoaXMub25QYXlUeXBlQ2hhbmdlKCk7XG5cdFx0dGhpcy5vbldhZ2VTb3VyY2VUeXBlQ2hhbmdlKCk7XG5cdFx0dGhpcy5vbkFjY3J1YWxBY2NvdW50Q2hhbmdlKCk7XG5cblx0XHR0aGlzLnNldEVkaXRWaWV3RGF0YURvbmUoKTtcblx0fVxuXG5cdG9uQWNjcnVhbFJhdGVDaGFuZ2UoKSB7XG5cdFx0Ly9Jc3N1ZSAjMjk1NiAtIFR5cGVFcnJvcjogdGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpYy5hY2NydWFsX2JhbGFuY2VfdGhyZXNob2xkIGlzIHVuZGVmaW5lZFxuXHRcdGlmICggIXRoaXMuZWRpdF92aWV3X2Zvcm1faXRlbV9kaWNbJ2FjY3J1YWxfYmFsYW5jZV90aHJlc2hvbGQnXSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR2YXIgbGFiZWw7XG5cdFx0aWYgKCBNYXRoLnNpZ24oIHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5hY2NydWFsX3JhdGUgKSA8IDAgKSB7XG5cdFx0XHRsYWJlbCA9ICQuaTE4bi5fKCAnTWluaW11bSBCYWxhbmNlJyApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRsYWJlbCA9ICQuaTE4bi5fKCAnTWF4aW11bSBCYWxhbmNlJyApO1xuXHRcdH1cblxuXHRcdHRoaXMuZWRpdF92aWV3X2Zvcm1faXRlbV9kaWNbJ2FjY3J1YWxfYmFsYW5jZV90aHJlc2hvbGQnXS5maW5kKCAnLndpZGdldC1yaWdodC1sYWJlbCcgKS50ZXh0KCAnKCcgKyBsYWJlbCArICcpJyApO1xuXHR9XG5cblx0b25QYXlUeXBlQ2hhbmdlKCkge1xuXHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ3JhdGUnICk7XG5cdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnd2FnZV9ncm91cF9pZCcgKTtcblx0XHR0aGlzLmRldGFjaEVsZW1lbnQoICd3YWdlX3NvdXJjZV90eXBlX2lkJyApO1xuXHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ3dhZ2Vfc291cmNlX2NvbnRyaWJ1dGluZ19zaGlmdF9wb2xpY3lfaWQnICk7XG5cdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAndGltZV9zb3VyY2VfY29udHJpYnV0aW5nX3NoaWZ0X3BvbGljeV9pZCcgKTtcblxuXHRcdGlmICggdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkWydwYXlfdHlwZV9pZCddID09IDEwICkge1xuXHRcdFx0dGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpY1sncmF0ZSddLmZpbmQoICcuZWRpdC12aWV3LWZvcm0taXRlbS1sYWJlbCcgKS50ZXh0KCAkLmkxOG4uXyggJ1JhdGUnICkgKTtcblx0XHRcdHRoaXMuZWRpdF92aWV3X2Zvcm1faXRlbV9kaWNbJ3JhdGUnXS5maW5kKCAnLndpZGdldC1yaWdodC1sYWJlbCcgKS50ZXh0KCAnKCcgKyAkLmkxOG4uXyggJ2llJyApICsgJzogJyArICQuaTE4bi5fKCAnMS41IGZvciB0aW1lIGFuZCBhIGhhbGYnICkgKyAnKScgKTtcblx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ3dhZ2VfZ3JvdXBfaWQnICk7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX3NvdXJjZV90eXBlX2lkJyApO1xuXHRcdH0gZWxzZSBpZiAoIHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFsncGF5X3R5cGVfaWQnXSA9PSAzMCB8fCB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmRbJ3BheV90eXBlX2lkJ10gPT0gMzQgfHwgdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkWydwYXlfdHlwZV9pZCddID09IDQwICkge1xuXHRcdFx0dGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpY1sncmF0ZSddLmZpbmQoICcuZWRpdC12aWV3LWZvcm0taXRlbS1sYWJlbCcgKS50ZXh0KCAkLmkxOG4uXyggJ0hvdXJseSBSYXRlJyApICk7XG5cdFx0XHR0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljWydyYXRlJ10uZmluZCggJy53aWRnZXQtcmlnaHQtbGFiZWwnICkudGV4dCggJygnICsgJC5pMThuLl8oICdpZScgKSArICc6ICcgKyAkLmkxOG4uXyggJzEwLjAwL2hyJyApICsgJyknICk7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX2dyb3VwX2lkJyApO1xuXHRcdFx0dGhpcy5hdHRhY2hFbGVtZW50KCAnd2FnZV9zb3VyY2VfdHlwZV9pZCcgKTtcblx0XHR9IGVsc2UgaWYgKCB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmRbJ3BheV90eXBlX2lkJ10gPT0gNTAgKSB7XG5cdFx0XHR0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljWydyYXRlJ10uZmluZCggJy5lZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsJyApLnRleHQoICQuaTE4bi5fKCAnUHJlbWl1bScgKSApO1xuXHRcdFx0dGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpY1sncmF0ZSddLmZpbmQoICcud2lkZ2V0LXJpZ2h0LWxhYmVsJyApLnRleHQoICcoJyArICQuaTE4bi5fKCAnaWUnICkgKyAnOiAnICsgJC5pMThuLl8oICcwLjc1IGZvciA3NSBjZW50L2hyJyApICsgJyknICk7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX2dyb3VwX2lkJyApO1xuXHRcdFx0dGhpcy5hdHRhY2hFbGVtZW50KCAnd2FnZV9zb3VyY2VfdHlwZV9pZCcgKTtcblx0XHR9IGVsc2UgaWYgKCB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmRbJ3BheV90eXBlX2lkJ10gPT0gMzIgKSB7XG5cdFx0XHR0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljWydyYXRlJ10uZmluZCggJy5lZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsJyApLnRleHQoICQuaTE4bi5fKCAnSG91cmx5IFJhdGUnICkgKTtcblx0XHRcdHRoaXMuZWRpdF92aWV3X2Zvcm1faXRlbV9kaWNbJ3JhdGUnXS5maW5kKCAnLndpZGdldC1yaWdodC1sYWJlbCcgKS50ZXh0KCAnKCcgKyAkLmkxOG4uXyggJ2llJyApICsgJzogJyArICQuaTE4bi5fKCAnMTAuMDAvaHInICkgKyAnKScgKTtcblx0XHR9IGVsc2UgaWYgKCB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmRbJ3BheV90eXBlX2lkJ10gPT0gNDIgKSB7XG5cdFx0XHR0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljWydyYXRlJ10uZmluZCggJy5lZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsJyApLnRleHQoICQuaTE4bi5fKCAnSG91cmx5IFJhdGUnICkgKTtcblx0XHRcdHRoaXMuZWRpdF92aWV3X2Zvcm1faXRlbV9kaWNbJ3JhdGUnXS5maW5kKCAnLndpZGdldC1yaWdodC1sYWJlbCcgKS50ZXh0KCAnKCcgKyAkLmkxOG4uXyggJ2llJyApICsgJzogJyArICQuaTE4bi5fKCAnMTAuMDAvaHInICkgKyAnKScgKTtcblx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ3dhZ2VfZ3JvdXBfaWQnICk7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX3NvdXJjZV90eXBlX2lkJyApO1xuXHRcdH0gZWxzZSBpZiAoIHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFsncGF5X3R5cGVfaWQnXSA9PSA2MCApIHsgLy82MD1EYWlseSBSYXRlXG5cdFx0XHR0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljWydyYXRlJ10uZmluZCggJy5lZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsJyApLnRleHQoICQuaTE4bi5fKCAnRGFpbHkgUmF0ZScgKSApO1xuXHRcdFx0dGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpY1sncmF0ZSddLmZpbmQoICcud2lkZ2V0LXJpZ2h0LWxhYmVsJyApLnRleHQoICcoJyArICQuaTE4bi5fKCAnaWUnICkgKyAnOiAnICsgJC5pMThuLl8oICcxMDAuMDAvZGF5JyApICsgJyknICk7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX2dyb3VwX2lkJyApO1xuXHRcdFx0Ly90aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX3NvdXJjZV90eXBlX2lkJyApOyAvL0Rvbid0IGF0dGFjaCB3YWdlIHNvdXJjZSBhcyB0aGF0IGlzIGZvcmNlZCB0byBXYWdlIEdyb3VwLiBCdXQgd2UgbmVlZCB0byBzcGVjaWZ5IHRoZSBXYWdlIEdyb3VwIHN0aWxsLlxuXHRcdH0gZWxzZSBpZiAoIHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFsncGF5X3R5cGVfaWQnXSA9PSA3MCApIHsgLy83MD1EYWlseSBSYXRlIChBdmVyYWdlKVxuXHRcdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAncmF0ZScgKTsgLy9SYXRlIGNhbid0IGJlIHNwZWNpZmllZCBhcyBpdHMgYWxsIGFuIGF2ZXJhZ2UuXG5cdFx0fSBlbHNlIGlmICggdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkWydwYXlfdHlwZV9pZCddID09IDIwMCApIHsgLy8yMDA9UGllY2UgUmF0ZSAocGVyIEdvb2QgUXVhbnRpdHkpXG5cdFx0XHR0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljWydyYXRlJ10uZmluZCggJy5lZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsJyApLnRleHQoICQuaTE4bi5fKCAnUGllY2UgUmF0ZScgKSApO1xuXHRcdFx0dGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpY1sncmF0ZSddLmZpbmQoICcud2lkZ2V0LXJpZ2h0LWxhYmVsJyApLnRleHQoICcoJyArICQuaTE4bi5fKCAnaWUnICkgKyAnOiAnICsgJC5pMThuLl8oICckMS4wMCBwZXIgR29vZCBRdWFudGl0eScgKSArICcpJyApO1xuXHRcdH1cblxuXHRcdHRoaXMuZWRpdEZpZWxkUmVzaXplKCk7XG5cblx0XHR0aGlzLm9uV2FnZVNvdXJjZVR5cGVDaGFuZ2UoKTtcblx0fVxuXG5cdG9uV2FnZVNvdXJjZVR5cGVDaGFuZ2UoKSB7XG5cdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnd2FnZV9zb3VyY2VfY29udHJpYnV0aW5nX3NoaWZ0X3BvbGljeV9pZCcgKTtcblx0XHR0aGlzLmRldGFjaEVsZW1lbnQoICd0aW1lX3NvdXJjZV9jb250cmlidXRpbmdfc2hpZnRfcG9saWN5X2lkJyApO1xuXHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ3dhZ2VfZ3JvdXBfaWQnICk7XG5cdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnYXZlcmFnZV9kYXlzJyApO1xuXG5cdFx0Ly9Pbmx5IGRpc3BsYXkgdGhlc2UgZmllbGRzIGlmIHdhZ2Vfc291cmNlX3R5cGVfaWQgaXMgYWxzbyBkaXNwbGF5ZWQuXG5cdFx0aWYgKCB0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljWyd3YWdlX3NvdXJjZV90eXBlX2lkJ10uY3NzKCAnZGlzcGxheScgKSA9PT0gJ2Jsb2NrJyApIHtcblx0XHRcdGlmICggdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkWyd3YWdlX3NvdXJjZV90eXBlX2lkJ10gPT0gMTAgKSB7IC8vMTA9V2FnZSBHcm91cFxuXHRcdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX2dyb3VwX2lkJyApO1xuXHRcdFx0fSBlbHNlIGlmICggdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkWyd3YWdlX3NvdXJjZV90eXBlX2lkJ10gPT0gMzAgKSB7IC8vMzA9QXZlcmFnaW5nXG5cdFx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ3dhZ2Vfc291cmNlX2NvbnRyaWJ1dGluZ19zaGlmdF9wb2xpY3lfaWQnICk7XG5cdFx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ3RpbWVfc291cmNlX2NvbnRyaWJ1dGluZ19zaGlmdF9wb2xpY3lfaWQnICk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmICggdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkWydwYXlfdHlwZV9pZCddID09IDYwICkgeyAvLzYwPURhaWx5IFJhdGUgKHcvRGVmYXVsdCkuIEZvcmNlZCB0byBcIldhZ2UgR3JvdXBcIiB3YWdlX3NvdXJjZV90eXBlX2lkXG5cdFx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ3dhZ2VfZ3JvdXBfaWQnICk7XG5cdFx0XHR9IGVsc2UgaWYgKCB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmRbJ3BheV90eXBlX2lkJ10gPT0gNzAgKSB7IC8vNzA9RGFpbHkgUmF0ZSAoQXZlcmFnaW5nKVxuXHRcdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd3YWdlX3NvdXJjZV9jb250cmlidXRpbmdfc2hpZnRfcG9saWN5X2lkJyApO1xuXHRcdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICd0aW1lX3NvdXJjZV9jb250cmlidXRpbmdfc2hpZnRfcG9saWN5X2lkJyApO1xuXHRcdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICdhdmVyYWdlX2RheXMnICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5lZGl0RmllbGRSZXNpemUoKTtcblx0fVxuXG5cdG9uQWNjcnVhbEFjY291bnRDaGFuZ2UoKSB7XG5cdFx0aWYgKCB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmRbJ2FjY3J1YWxfcG9saWN5X2FjY291bnRfaWQnXSA9PT0gZmFsc2UgfHwgdHlwZW9mIHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFsnYWNjcnVhbF9wb2xpY3lfYWNjb3VudF9pZCddID09ICd1bmRlZmluZWQnIHx8IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFsnYWNjcnVhbF9wb2xpY3lfYWNjb3VudF9pZCddID09IFRUVVVJRC56ZXJvX2lkICkge1xuXHRcdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnYWNjcnVhbF9yYXRlJyApO1xuXHRcdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnYWNjcnVhbF9iYWxhbmNlX3RocmVzaG9sZCcgKTtcblx0XHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ2FjY3J1YWxfYmFsYW5jZV90aHJlc2hvbGRfZmFsbGJhY2tfYWNjcnVhbF9wb2xpY3lfYWNjb3VudF9pZCcgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5hdHRhY2hFbGVtZW50KCAnYWNjcnVhbF9yYXRlJyApO1xuXHRcdFx0dGhpcy5hdHRhY2hFbGVtZW50KCAnYWNjcnVhbF9iYWxhbmNlX3RocmVzaG9sZCcgKTtcblx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ2FjY3J1YWxfYmFsYW5jZV90aHJlc2hvbGRfZmFsbGJhY2tfYWNjcnVhbF9wb2xpY3lfYWNjb3VudF9pZCcgKTtcblx0XHR9XG5cblx0XHR0aGlzLmVkaXRGaWVsZFJlc2l6ZSgpO1xuXHR9XG5cblx0b25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0ICkge1xuXHRcdHRoaXMuaXNfY2hhbmdlZCA9IHRydWU7XG5cdFx0dGhpcy5zZXRNYXNzRWRpdGluZ0ZpZWxkc1doZW5Gb3JtQ2hhbmdlKCB0YXJnZXQgKTtcblxuXHRcdHZhciBrZXkgPSB0YXJnZXQuZ2V0RmllbGQoKTtcblx0XHR2YXIgY192YWx1ZSA9IHRhcmdldC5nZXRWYWx1ZSgpO1xuXG5cdFx0dGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkW2tleV0gPSBjX3ZhbHVlO1xuXG5cdFx0aWYgKCBrZXkgPT09ICdhY2NydWFsX3JhdGUnICkge1xuXHRcdFx0dGhpcy5vbkFjY3J1YWxSYXRlQ2hhbmdlKCk7XG5cdFx0fVxuXG5cdFx0aWYgKCBrZXkgPT09ICdwYXlfdHlwZV9pZCcgKSB7XG5cdFx0XHR0aGlzLm9uUGF5VHlwZUNoYW5nZSgpO1xuXHRcdH1cblxuXHRcdGlmICgga2V5ID09PSAnd2FnZV9zb3VyY2VfdHlwZV9pZCcgKSB7XG5cdFx0XHR0aGlzLm9uV2FnZVNvdXJjZVR5cGVDaGFuZ2UoKTtcblx0XHR9XG5cblx0XHRpZiAoIGtleSA9PT0gJ2FjY3J1YWxfcG9saWN5X2FjY291bnRfaWQnICkge1xuXHRcdFx0dGhpcy5vbkFjY3J1YWxBY2NvdW50Q2hhbmdlKCk7XG5cdFx0fVxuXG5cdFx0dGhpcy52YWxpZGF0ZSgpO1xuXHR9XG5cblx0YnVpbGRTZWFyY2hGaWVsZHMoKSB7XG5cblx0XHRzdXBlci5idWlsZFNlYXJjaEZpZWxkcygpO1xuXHRcdHRoaXMuc2VhcmNoX2ZpZWxkcyA9IFtcblxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ05hbWUnICksXG5cdFx0XHRcdGluX2NvbHVtbjogMSxcblx0XHRcdFx0ZmllbGQ6ICduYW1lJyxcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVFxuXHRcdFx0fSApLFxuXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnUGF5IFR5cGUnICksXG5cdFx0XHRcdGluX2NvbHVtbjogMSxcblx0XHRcdFx0ZmllbGQ6ICdwYXlfdHlwZV9pZCcsXG5cdFx0XHRcdG11bHRpcGxlOiB0cnVlLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IGZhbHNlLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9vcHRpb25fY29sdW1uJyxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnRGVwb3NpdCB0byBBY2NydWFsIFBvbGljeScgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAxLFxuXHRcdFx0XHRmaWVsZDogJ2FjY3J1YWxfcG9saWN5X2FjY291bnRfaWQnLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9hY2NydWFsX3BvbGljeV9hY2NvdW50Jyxcblx0XHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElBY2NydWFsUG9saWN5QWNjb3VudCxcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1hcblx0XHRcdH0gKSxcbi8vXG4vL1x0XHRcdG5ldyBTZWFyY2hGaWVsZCgge2xhYmVsOiAkLmkxOG4uXyggJ1BheSBTdHViIEFjY291bnQnICksXG4vL1x0XHRcdFx0aW5fY29sdW1uOiAxLFxuLy9cdFx0XHRcdGZpZWxkOiAncGF5X3N0dWJfZW50cnlfYWNjb3VudF9pZCcsXG4vL1x0XHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuLy9cdFx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcbi8vXHRcdFx0XHRtdWx0aXBsZTogdHJ1ZSxcbi8vXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG4vL1x0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG4vL1x0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWH0gKSxcblxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ0NyZWF0ZWQgQnknICksXG5cdFx0XHRcdGluX2NvbHVtbjogMixcblx0XHRcdFx0ZmllbGQ6ICdjcmVhdGVkX2J5Jyxcblx0XHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfdXNlcicsXG5cdFx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJVXNlcixcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1hcblx0XHRcdH0gKSxcblxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1VwZGF0ZWQgQnknICksXG5cdFx0XHRcdGluX2NvbHVtbjogMixcblx0XHRcdFx0ZmllbGQ6ICd1cGRhdGVkX2J5Jyxcblx0XHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfdXNlcicsXG5cdFx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJVXNlcixcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1hcblx0XHRcdH0gKVxuXHRcdF07XG5cdH1cblxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5787\n")}}]); |