Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php $_F=__FILE__;$_C1353562110='Pz48P2pZagokamZDRV93TGIgPSBORTYgamZDRV9md3dFZWVfd0xiKCRv..

Decoded Output download

?><?php
$page_ctl = new page_access_ctl($db);
if ($page_ctl->hasPermission('456', $_SESSION[SESSION_VAR_NAME]['role'])) {
    $Page = new page($db);
    $userAccessRight = $Page->accesspermissions('456', $_SESSION[SESSION_VAR_NAME]['role']);
    $no_userAccessRight = count($userAccessRight);
    $access_type = array();
    foreach ($userAccessRight as $p_ar) {
        array_push($access_type, $p_ar['type']);
    }
    if (in_array('3', $access_type)) {

        $ig_id = decrypt_url($_REQUEST['ig_id'], APP_ENCRYPTION_SALT);
        $IndexMaster = new index_master($db);
        $indexmaster_details = $IndexMaster->getIndexMaster_ById($ig_id);

        $pid = decrypt_url($_REQUEST['pid'], APP_ENCRYPTION_SALT);
        $id = decrypt_url($_REQUEST['id'], APP_ENCRYPTION_SALT);
        $IndexMaster = new index_master($db);
        $indexmasterf_details = $IndexMaster->getIndexField_ById($id);

        $field_extend_details = $IndexMaster->getFieldExtend_ByFId($id);

        $Project = new project($db);
        $project_details = $Project->getProject_ById($pid);
//echo '*****************************************************************';
//print_r($field_extend_details);
        ?>
        <script type="text/javascript" nonce=<?php echo $_SESSION[SESSION_VAR_NAME]['usernonce']; ?>>

            /*====Select Box====*/
            $(function () {
                $(".chzn-select").chosen();
                $(".chzn-select-deselect").chosen({
                    allow_single_deselect: true
                });
                jQuery.validator.addMethod("custom_validation", function (value, element)
                {
                    return true;
                }, "Please enter valid regular expression");
                $(document).on('change', '#unique_f', function () {

                    var val = $(this).val();
                    var auto = $("#auto_inc").val();
                    $("input[name=required_f][value=0]").prop('disabled', false);
                    //alert("auto"+auto);
                    if (val == 1) {
                        $("input[name=required_f][value=1]").prop('checked', true);
                        $("input[name=redundant][value=0]").prop('checked', true);
                        $("input[name=status][value=1]").prop('checked', true);
                        $("input[name=auto_inc][value=0]").prop('checked', true);
                        $("input[name=redundant]").prop('disabled', true);
                        $('#auto_inc_name').val('');
                        $('#auto_inc_name').prop('type', 'hidden');
                    } else {
                        $("input[name=required_f][value=1]").prop('checked', true);
                        if (auto == 1) {
                            $("input[name=redundant]").prop('disabled', false);

                        }
                    }

                });
                $(document).on('change', '#required_f', function () {
                    var val = $(this).val();
                    if (val == 1) {
                        $("input[name=auto_inc][value=0]").prop('checked', true);
                        $('#auto_inc_name').val('');
                        $('#auto_inc_name').prop('type', 'hidden');
                        $("input[name=status][value=1]").prop('checked', true);
                        $("input[name=redundant]").prop('disabled', false);
                    } else {
                        $("input[name=unique_f][value=0]").prop('checked', true);
                        //$("input[name=required_f][value=0]").prop('checked', true);
                        $("input[name=redundant]").prop('disabled', false);
                    }

                });
                $(document).on('change', '#redundant', function () {

                    if ($(this).is(':checked')) {
                        $("input[name=redundant][value=1]").prop('checked', true);
                       // $("input[name=required_f][value=1]").prop('checked', true);
                        $("input[name=status][value=1]").prop('checked', true);
                        $("input[name=auto_inc][value=0]").prop('checked', true);
                        //$("input[name=required_f][value=0]").prop('disabled', false);

                        $('#auto_inc_name').val('');
                        $('#auto_inc_name').prop('type', 'hidden');
                    } else {

                        // $("input[name=redundant]").prop('checked', true)
//                        $("input[name=required_f][value=1]").prop('checked', true);
//                        $("input[name=required_f][value=0]").prop('disabled', true);
                    }

                    this.value = this.checked ? 1 : 0;

                });
            });

            $(function () {
                $('#extras tr td .minicolors').minicolors();
                // validate signup form on keyup and submit
                $('#txt_custom_validation').change(function () {
                    var val = $(this).val();
                    var val1 = val.replace("/^", "^");
                    var val2 = val1.replace("$/i", "$");
                    var val3 = val2.replace("$/", "$");

                    if (val3 != '')
                    {
                        jQuery.validator.addMethod("custom_validation", function (value, element)
                        {
                            if ($("#txt_test_custom_validation").val() != '') {
                                var regEx = new RegExp(val3);

                                return this.optional(element) || regEx.test(value);
                            } else {
                                return false;
                            }
                        }, "Please enter valid regular expression");
                    }
                }).trigger('change');
                jQuery.validator.addMethod("auto_inc_name_valid", function (value, element)
                {
                    value = value.trim();
                    if (value == '') {
                        return false;
                    }
                    return this.optional(element) || /^[a-z]+$/i.test(value);
                }, "Please enter prefix value");

                $(document).on("click", '#imf_edit', function (e) {
                    event.preventDefault();
                    if ($("#EditForm").valid()) {
                        $("#EditForm").jCryption({formFieldsValid: true});
                        $("#EditForm").data('jCryption').doEncryption();

                    }
                });

                $("#EditForm").validate({
                    ignore: ":hidden:not(select)",
                    rules: {
                        field_name: "required",
                        field_type: "required",
                        auto_inc_name: "required",
                        //                        txt_test_custom_validation: {
                        //                            custom_validation: true
                        //                        }
                        auto_inc_name:{
                            auto_inc_name_valid: true,
                        },
                    },
                    messages: {
                        field_name: "Please enter Field Name",
                        field_type: "Please Select Field Type",
                        auto_inc_name: "Please enter prefix"
                    },
                    submitHandler: function (form) {
                        $("#txt_custom_validation").trigger('change');
                        basic_form_submit_msg('index_master/imasterf_edit.php', '', 'EditForm');

                    }
                });




            });


            $(function () {
                var container = $('div.error-container ');
                // validate the form when it is submitted
                var validator = $("#form2").validate({
                    errorContainer: container,
                    errorLabelContainer: $("ol", container),
                    wrapper: 'li',
                    meta: "validate"
                });
                $(".cancel").click(function () {
                    validator.resetForm();
                });
                $(document).on('change', '#auto_inc', function () {
                    var auto_inc = $("input[name='auto_inc']:checked").val();
                    var unique = $("#unique_f").val();
                    var field_type = $('.chk-field_valid').val();
                    //alert("unique"+unique);
                    if (auto_inc == 1) {
                        //                        if (field_type != '' && field_type == "Alpha/Numeric") {
                        var sel_ = "Alpha/Numeric";
                        $('.chk-field_valid').val(sel_).change().trigger('liszt:updated');
                        $('#auto_inc_name').val('');
                        $('#auto_inc_name').prop('type', 'text');
                        $("input[name=status][value=1]").prop('checked', true);
                        $("input[name=required_f][value=0]").prop('checked', true);
                        $("input[name=unique_f][value=0]").prop('checked', true);
                        $("input[name=redundant][value=0]").prop('checked', true);
                        $("input[name=redundant]").prop('disabled', true);
//                        $("input[name=required_f][value=0]").prop('disabled', false);

                        //                        } else {
                        //                            $("input[name=auto_inc][value=0]").prop('checked', true);
                        //                            $('#auto_inc_name').prop('type', 'hidden');
                        //                            $('#auto_inc_name').val('');
                        //                            $("input[name=status][value=0]").prop('checked', true);
                        //                            bootbox.alert("Please select field type as Alpha/Numeric.");
                        //                        }
                    } else {
                        $('#auto_inc_name').prop('type', 'hidden');
                        $('#auto_inc_name').val('');
                        $("input[name=status][value=0]").prop('checked', true);
                        if (unique == 1) {
                            $("input[name=redundant]").prop('disabled', false);
                        }

                    }

                });
                $(document).ready(function () {
                    var auto_inc = $("input[name='auto_inc']:checked").val();
                    var unique = $("input[name='unique_f']:checked").val();
                    var redundant = $("input[name='redundant']:checked").val();
                    if (auto_inc == 1) {
                        var result = "<?php echo trim($indexmasterf_details[0]['auto_inc_name']) ?>";
                        $('#auto_inc_name').prop('type', 'text');
                        $('#auto_inc_name').val(result);

                    }
                    if (unique == 1 || auto_inc == 1) {
                        $("input[name=redundant]").prop('disabled', true);
                    }
//                    if (!(unique == 1 || auto_inc == 1) && redundant != 1) {
//                        $("input[name=required_f][value=0]").prop('disabled', true);
//                    }

                });
                $(document).on('click', '#status', function () {
                    var status = $("input[name='status']:checked").val();
                    var auto_inc = $("input[name='auto_inc']:checked").val();
                    var unique_f = $("input[name='unique_f']:checked").val();
                    var required_f = $("input[name='required_f']:checked").val();
                    if (status == 0 && (auto_inc == 1 || unique_f == 1 || required_f == 1)) {
                        $("input[name=status][value=1]").prop('checked', true);
                    }
                });
                $(document).on('click', '.pagetag', function () {
                    if ($('.pagetag').is(':checked')) {
                        var cfrm = bootbox.confirm("Are you sure? As if this field is marked as checked, it will remove any other page tag field in this Index Master if its already been marked.", function (result) {
                            if (result) {
                            } else
                            {
                                $('#pagetag').prop('checked', false);
                            }
                        });
                    }
                });

                var field = "<?php echo $indexmasterf_details[0]['field_type']; ?>";
                if (field == 'Date Range' || field == 'Checkbox Group' || field == 'Radio Group' || field == 'Select Menu' || field == 'Multi Select Menu')
                {
                    $('#divValid').hide();
                    $('#extras').show();
                    $('#div1').show();
                    //$('#pagetagging').show();
                } else
                {
                    $('#extras').hide();
                    $('#div1').hide();
                    if (field == 'Date') {//|| field == 'Email'
                        $('#divValid').hide();
                    } else {
                        $('#divValid').show();
                    }
                    //$('#pagetagging').hide();
                }
                $('#divValid').hide();
            });

            $(document).on('click', '.btn-history', function () {
                history.back(1);

            });

            $(document).on('change', '.chk-field', function () {
                var val = $(this).val();
                var auto_inc = $("input[name='auto_inc']:checked").val();
                var unique = $("input[name='unique_f']:checked").val();
                var redundant = $("input[name='redundant']:checked").val()
                if (val != 'Alpha/Numeric') {
                    $("input[name=auto_inc][value=0]").prop('checked', true);
                    $('#auto_inc_name').val('');
                    $('#auto_inc_name').prop('type', 'hidden');
                    auto_inc = $("input[name='auto_inc']:checked").val();
                    unique = $("input[name='unique_f']:checked").val();
                    redundant = $("input[name='redundant']:checked").val();
                }
                if (val == 'Date Range' || val == 'Checkbox Group' || val == 'Radio Group' || val == 'Select Menu' || val == 'Multi Select Menu')
                {
                    //$('#pagetagging').show();
                    $('#div1').show();
                    $('#extras').show();
                    $('#pagetagging').show();
                    if (auto_inc != 1 && unique != 1) {
                        $("input[name=redundant]").prop('disabled', false);
                    }
//                    if ((auto_inc != 1 && unique != 1) && redundant != 1) {
//                        $("input[name=required_f][value=1]").prop('checked', true);
//                        $("input[name=required_f][value=0]").prop('disabled', true);
//                    }
                } else
                {
                    $('#div1').hide();
                    $('#extras').hide();
                    $('#pagetagging').hide();
                    if ($('.chk-field_valid').val() == 'Select Menu') {
                        $('#div1').show();
                        $('#extras').show();
                    }
                    if (auto_inc != 1 && unique != 1) {
                        $("input[name=redundant]").prop('disabled', false);
                    }
                    if ((auto_inc != 1 && unique != 1) && redundant != 1) {
                        $("input[name=required_f][value=1]").prop('checked', true);
                       // $("input[name=required_f][value=0]").prop('disabled', true);
                    }
                    //$('#pagetagging').hide();
                }

            });
            //            $(document).on('change', '.chk-field', function () {
        //                var val = $(this).val();
        //
        //                if (val != 'Alpha/Numeric') {
        //                    $("input[name=auto_inc][value=0]").prop('checked', true);
        //                    $('#auto_inc_name').val('');
        //                    $('#auto_inc_name').prop('type', 'hidden');
        //                }
        //                if (val == 'Date Range' || val == 'Checkbox Group' || val == 'Radio Group' || val == 'Select Menu' || val == 'Multi Select Menu')
        //                {
        //                    $('#div1').show();
        //                    $('#extras').show();
        //                    $('#pagetagging').show();
        //                } else
        //                {
        //                    $('#div1').hide();
        //                    $('#extras').hide();
        //                    $('#pagetagging').hide();
        //                }
        //
        //            });
            $(document).on('change', '.chk-field_valid', function () {
                var val = $(this).val();
                if (val != 'Alpha/Numeric') {
                    $("input[name=auto_inc][value=0]").prop('checked', true);
                    $('#auto_inc_name').val('');
                    $('#auto_inc_name').prop('type', 'hidden');
                }
                if (val == 'Date' || val == 'Date Range' || val == 'Checkbox Group' || val == 'Radio Group' || val == 'Select Menu' || val == 'Multi Select Menu')//val == 'Email' ||
                {
                    $('#divValid').hide();
                } else
                {
                    $('#divValid').show();
                    $('#txt_default_validation').val('');
                    $('#txt_custom_validation').val('');
                    if (val == 'Text') {
                        $('#txt_default_validation').val(<?php echo '/^[a-zA-Z._\-()&\',\/\"\[\]+*%:  ,\" \"]+$/i'; ?>); //--> 
                    } else if (val == 'Numeric') {
                        $('#txt_default_validation').val(<?php echo '/^[0-9]*$/i'; ?>);
                    } else if (val == 'Email') {
                        $('#txt_default_validation').val(<?php echo '/^\w+@[a-zA-Z_-]+?\.[a-zA-Z]{2,3}$/'; ?>);
                    } else if (val == 'Alpha/Numeric') {
                        $('#txt_default_validation').val(<?php echo '/^[a-zA-Z0-9._\-()&\',\/\"\[\]+*%:  ,\" \"]+$/i'; ?>);
                    } else if (val == 'Textarea') {
                        $('#txt_default_validation').val(<?php echo '/^[a-zA-Z0-9._\-()&\',\/\"\[\]+*%:  ,\" \"
]+$/i'; ?>);
                    }
                    $('#divValid').hide();
                }
                if(val == 'Date'){
                    $("#display_chart").show();
                }else{
                    $("#display_chart").hide();
                }

            });
        </script>



        <div class="main-wrapper">
            <div class="container-fluid">
                <div class="row-fluid ">
                    <div class="span12">
                        <div class="primary-head">
                            <h3 class="page-header">Index Master - <?php echo $indexmaster_details[0]['index_master']; ?></h3>

                        </div>
                        <ul class="breadcrumb">
                            <li><a href="index.php" class="icon-home"></a><span class="divider "><i class="icon-angle-right"></i></span></li>

                            <li><a href="index.php?rq=<?php echo encrypt_url('deal_room/dealroom_dashboard.php', APP_ENCRYPTION_SALT); ?>&mn=<?php echo encrypt_url("deal_room/dealroom_dashboard.php", APP_ENCRYPTION_SALT); ?>">Deal Room's List</a><span class="divider"><i class="icon-angle-right"></i></span></li>
                            <li> <a href="index.php?rq=<?php echo encrypt_url('deal_room/dealroom_workspace.php', APP_ENCRYPTION_SALT); ?>&mn=<?php echo encrypt_url("deal_room/dealroom_dashboard.php", APP_ENCRYPTION_SALT); ?>&itag=<?php echo encrypt_url('iworkspace', APP_ENCRYPTION_SALT); ?>&id=<?php echo encrypt_url($project_details[0]['id'], APP_ENCRYPTION_SALT); ?>"><?php echo $project_details[0]['project_name']; ?> - Analytics</a><span class="divider"><i class="icon-angle-right"></i></span></li>                                                


                            <li> <a href="index.php?rq=<?php echo encrypt_url('index_master/imaster_dashboard.php', APP_ENCRYPTION_SALT); ?>&mn=<?php echo encrypt_url("deal_room/dealroom_dashboard.php", APP_ENCRYPTION_SALT); ?>&itag=<?php echo encrypt_url('iworkspace', APP_ENCRYPTION_SALT); ?>&pid=<?php echo encrypt_url($project_details[0]['id'], APP_ENCRYPTION_SALT); ?>">Index Master</a><span class="divider"><i class="icon-angle-right"></i></span></li>
                            <li> <a href="index.php?rq=<?php echo encrypt_url('index_master/imasterf_dashboard.php', APP_ENCRYPTION_SALT); ?>&mn=<?php echo encrypt_url("deal_room/dealroom_dashboard.php", APP_ENCRYPTION_SALT); ?>&itag=<?php echo encrypt_url('iworkspace', APP_ENCRYPTION_SALT); ?>&pid=<?php echo encrypt_url($project_details[0]['id'], APP_ENCRYPTION_SALT); ?>&id=<?php echo encrypt_url($ig_id, APP_ENCRYPTION_SALT); ?>">Fields</a><span class="divider"><i class="icon-angle-right"></i></span></li>
                            <li class="active">Edit Field</li>	
                        </ul>
                    </div>
                </div>
                <div class="row-fluid">
                    <div class="span12">
                        <div class="content-widgets gray">
                            <div class="widget-head blue">
                                <h3> <i class="icon-credit-card"></i> Edit Field</h3>
                            </div>
                            <div class="widget-container">
                                <div class="form-container grid-form form-background">

                                    <form class="form-horizontal left-align" id="EditForm" method="post" action="#">
                                        <input id="id" name="id" class="span8" type="hidden" value="<?php echo encrypt_url($indexmasterf_details[0]['id'], APP_ENCRYPTION_SALT); ?>"/>
                                        <input id="ig_id" name="ig_id" class="span8" type="hidden" value="<?php echo encrypt_url($indexmasterf_details[0]['index_master_id'], APP_ENCRYPTION_SALT); ?>"/>
                                        <input id="pid" name="pid" class="span8" type="hidden" value="<?php echo encrypt_url($pid, APP_ENCRYPTION_SALT); ?>"/>

                                        <div class="control-group">
                                            <label class="control-label">Field Name</label>
                                            <div class="controls">
                                                <input id="field_name" name="field_name" class="span8 left-stripe" type="text" value="<?php echo $indexmasterf_details[0]['field_name']; ?>"/>
                                            </div>
                                        </div>  

                                        <div class="control-group">
                                            <label class="control-label">Field Type</label>
                                            <div class="controls">
                                                <select name="field_type" class="chk-field chk-field_valid chzn-select span8" data-placeholder="Choose a Field Type..." tabindex="2"> 

                                                    <option value=""></option>
                                                    <option value="Text" <?php
                                                    if ($indexmasterf_details[0]['field_type'] == 'Text') {
                                                        echo 'selected';
                                                    }
                                                    ?>>Text</option>
                                                    <option value="Numeric" <?php
                                                    if ($indexmasterf_details[0]['field_type'] == 'Numeric') {
                                                        echo 'selected';
                                                    }
                                                    ?>>Numeric</option>
                                                    <option value="Alpha/Numeric" <?php
                                                    if ($indexmasterf_details[0]['field_type'] == 'Alpha/Numeric') {
                                                        echo 'selected';
                                                    }
                                                    ?>>Alpha/Numeric</option>
                                                    <option value="Textarea" <?php
                                                    if ($indexmasterf_details[0]['field_type'] == 'Textarea') {
                                                        echo 'selected';
                                                    }
                                                    ?>>Textarea</option>
                                                    <option value="Date" <?php
                                                    if ($indexmasterf_details[0]['field_type'] == 'Date') {
                                                        echo 'selected';
                                                    }
                                                    ?>>Date</option>
                                                    <option value="Email" <?php
                                                    if ($indexmasterf_details[0]['field_type'] == 'Email') {
                                                        echo 'selected';
                                                    }
                                                    ?>>Email</option>
                                                    <option value="Select Menu" <?php
                                                    if ($indexmasterf_details[0]['field_type'] == 'Select Menu') {
                                                        echo 'selected';
                                                    }
                                                    ?>>Select Menu</option>
                                                    <!--
                                                    <option value="Date Range" <?php
                                                    /* if ($indexmasterf_details[0]['field_type'] == 'Date Range') {
                                                      echo 'selected';
                                                      }
                                                      ?>>Date Range</option>
                                                      <option value="Checkbox" <?php
                                                      if ($indexmasterf_details[0]['field_type'] == 'Checkbox') {
                                                      echo 'selected';
                                                      }
                                                      ?>>Checkbox</option>
                                                      <option value="Checkbox Group" <?php
                                                      if ($indexmasterf_details[0]['field_type'] == 'Checkbox Group') {
                                                      echo 'selected';
                                                      }
                                                      ?>>Checkbox Group</option>
                                                      <option value="Radio Group" <?php
                                                      if ($indexmasterf_details[0]['field_type'] == 'Radio Group') {
                                                      echo 'selected';
                                                      }
                                                      ?>>Radio Group</option>

                                                      <option value="Multi Select Menu" <?php
                                                      if ($indexmasterf_details[0]['field_type'] == 'Multi Select Menu') {
                                                      echo 'selected';
                                                      } */
                                                    ?>>Multi Select Menu</option>  -->

                                                </select>
                                            </div>
                                        </div>   
                                        <div class="control-group">
                                            <label class="control-label">Allow Redundant Value</label>
                                            <div class="controls">
                                                <input id="redundant" name="redundant" value="<?php echo $indexmasterf_details[0]['redundant'] ?>" type="checkbox" <?php
                                                if (trim($indexmasterf_details[0]['redundant']) == '1') {
                                                    echo 'checked="true"';
                                                }
                                                ?>/>
                                            </div>
                                        </div>
                                        <div id="divValid">		
                                            <div class="control-group">		
                                                <label class="control-label">Default Validation</label>		
                                                <div class="controls">		
                                                    <input id="txt_default_validation" name="txt_default_validation" class="span8" value="<?php echo $indexmasterf_details[0]['default_validation'] ?>" type="text" readonly/>		
                                                </div>		
                                            </div>		
                                            <div class="control-group">		
                                                <label class="control-label">Custom Validation</label>		
                                                <div class="controls">		
                                                    <input id="txt_custom_validation" name="txt_custom_validation" class="span8" type="text"  value="<?php echo $indexmasterf_details[0]['custom_validation']; ?>" placeholder="Custom Validation"/><br/>		
                                                    <br><input id="txt_test_custom_validation" name="txt_test_custom_validation" class="span8" type="text"  placeholder="Test custom validation"/>		
                                                </div>		
                                            </div>		
                                        </div>
                                        <div id="div1" class="control-group">
                                            <fieldset class="default">
                                                <legend>Field Values </legend>
                                                <br>
                                                <div class="controls">
                                                    <table id="extras" style="<?php
                                                    if ($indexmasterf_details[0]['field_type'] != 'Select Menu') {
                                                        echo 'display:none;';
                                                    }
                                                    ?>">
                                                        <tr>
                                                            <td><button class="btn btn-info" type="button" id="addfieldEmp">Add Values</button></td>
                                                            <td></td>
                                                        </tr>

                                                        <?php for ($k = 0; $k < count($field_extend_details); $k++) { ?>
                                                            <tr id="tr<?php echo $field_extend_details[$k]['id']; ?>">
                                                                <td>
                                                                    <input type="text" id="fieldsids[]" name="fieldsids[]" value="<?php echo $field_extend_details[$k]['field_value']; ?>" />
                                                                    <input type="hidden" id="idss" name="idss[]" value="<?php echo $field_extend_details[$k]['id']; ?>" />
                                                                </td>
                                                                <td>
                                                                <input id="colorval[]" name="colorval[]" class="minicolors" data-default-value="" type="text" value="<?php echo $field_extend_details[$k]['color_value']; ?>">
                                                                </td>
                                                                <td>
                                                                    <button type="button" class=" btn btn-round-min btn-danger btn-delete" id="<?php echo $field_extend_details[$k]['id']; ?>" ><span><i class="icon-trash"></i></span></button>  
                                                                </td>
                                                            </tr>

                                                        <?php } ?>
                                                    </table>
                                                </div>
                                            </fieldset>
                                        </div>
                                        <!--                                    <div class="control-group">
                                                                                <label class="control-label">Field Position</label>
                                                                                <div class="controls">-->
                                        <?php
//                                            $indexmasterfield_details = $IndexMaster->getIndexField_ByIMId_All($ig_id);
//                                            $no_indexmasterf_details = count($indexmasterfield_details);
                                        $indexmasterfield_details = $IndexMaster->getIndexField_ByIMId_OrdByFieldPositionDesc($ig_id);
                                        $no_indexmasterf_details = 1;
                                        if (!empty($indexmasterfield_details))
                                            $no_indexmasterf_details = $indexmasterfield_details[0]['field_position'] + 1;
                                        ?>
                                        <input type="hidden" name="field_postion" name="field_postion" min="1" max="<?php echo $no_indexmasterf_details; ?>" step="1" value="<?php echo $indexmasterf_details[0]['field_position']; ?>">
                                        <!--                                        </div>
                                                                            </div>-->
                                        <div class="control-group">
                                            <label class="control-label">Auto Increment</label>
                                            <div class="controls">
                                                <label class="radio">
                                                    <input name="auto_inc" id="auto_inc" value="1" <?php
                                                    if (trim($indexmasterf_details[0]['auto_inc_name']) != '') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">
                                                    Active
                                                </label><input type="hidden" name="auto_inc_name" id="auto_inc_name" value="<?php echo trim($indexmasterf_details[0]['auto_inc_name']); ?>" placeholder="Autoincrement Prefix"/>
                                                <label class="radio">
                                                    <input name="auto_inc" id="auto_inc"  value="0" <?php
                                                    if (trim($indexmasterf_details[0]['auto_inc_name']) == '') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">
                                                    Inactive </label>
                                            </div>
                                        </div> 
                                        <div class="control-group">
                                            <label class="control-label">Unique</label>
                                            <div class="controls">
                                                <label class="radio">
                                                    <input name="unique_f" id="unique_f" value="1" <?php
                                                    if ($indexmasterf_details[0]['unique_f'] == '1') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">
                                                    Active </label>
                                                <label class="radio">
                                                    <input name="unique_f" id="unique_f" value="0" <?php
                                                    if ($indexmasterf_details[0]['unique_f'] == '0') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">
                                                    Inactive </label>
                                            </div>
                                        </div>
                                        <div class="control-group">		
                                            <label class="control-label">Required</label>		
                                            <div class="controls">		
                                                <label class="radio">		
                                                    <input name="required_f" id="required_f" value="1" <?php
                                                    if ($indexmasterf_details[0]['required_validation'] == '1') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">		
                                                    Active </label>		
                                                <label class="radio">		
                                                    <input name="required_f" id="required_f" value="0" <?php
                                                    if ($indexmasterf_details[0]['required_validation'] == '0') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">		
                                                    Inactive </label>		
                                            </div>		
                                        </div>
                                        <div id="display_chart" class="control-group" <?php if ($indexmasterf_details[0]['field_type'] != 'Date') {
                                                        echo 'style=display:none;';
                                                    }?>>
                                            <label class="control-label">Display Chart</label>
                                            <div class="controls">
                                                <label class="radio">
                                                    <input name="showchart" value="1" <?php
                                                    if ($indexmasterf_details[0]['display_chart'] == '1') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">Active
                                                </label>
                                                <label class="radio">
                                                    <input name="showchart" value="0" <?php
                                                    if ($indexmasterf_details[0]['display_chart'] == '0') {
                                                        echo 'checked';
                                                    }
                                                    ?> type="radio">Inactive
                                                </label>
                                            </div>
                                        </div>
                                        <div class="form-actions">

                                            <button type="submit" class="btn btn-primary" id="imf_edit">Update</button>   

                                            <button type="button" class="btn btn-history" >Cancel</button>
                                        </div>
                                    </form>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

            </div>
        </div>
        <?php
//                $Log = new log($db);
//                $Log->setUserName($_SESSION[SESSION_VAR_NAME]['fname'] . " " . $_SESSION[SESSION_VAR_NAME]['mname'] . " " . $_SESSION[SESSION_VAR_NAME]['lname']);
//                $Log->setUserEmail($_SESSION[SESSION_VAR_NAME]['email']);
//                $Log->setUserOrg($_SESSION[SESSION_VAR_NAME]['org']);
//                $Log->setIpAddress($_SERVER["REMOTE_ADDR"]);
//                $Log->setMainModule("Index Master");
//                $Log->setSubModule("Action-Fields");
//                $Log->setTrigger("Edit Field");
//                $log_msg = $format . "Edit Field Form Viewed" . date("Y/m/d");
//                $Log->setTriggerProcess($log_msg);
//                $Log->setLogDatetime(DATE_TIME);
//                $addLog = $Log->addLogDetail();
    } else {
        include("error_403.php");
    }
    ?>
    <script nonce=<?php echo $_SESSION[SESSION_VAR_NAME]['usernonce']; ?>>
        $(document).ready(function () {

            //$('#addfieldEmp').click(function () {
            $(document).on("click", '#addfieldEmp', function () {
                $('#extras').append('<tr><td> <input type="text" id="fieldsids[]" name="fieldsids[]" value="" /> </td><td><input id="colorval[]" name="colorval[]" class="minicolors" data-default-value="" type="text" value=""/></td><td><button type="button" class="deleteFieldEmp btn btn-round-min btn-danger"  id="deleteExtraEmp"><span><i class="icon-trash"></i></span></button></td></tr>');
                $('#extras tr td .minicolors:last').minicolors();
            });
            $('#extras').on('click', '.deleteFieldEmp', function () {
                $(this).closest('tr').remove();
            });

        });

        $(document).on('click', '.btn-delete', function () {
            var val = this.id;
            var cfrm = bootbox.confirm("Are you sure?", function (result) {
                if (result) {

                    $("#tr" + val).remove();
                    var pid = "<?php echo $pid; ?>";
                    ajax_common_request('index_master/imasterfdrop_delete.php?id=' + val, '');
                }
            });

        });
    </script>
    <?php
} else {
    $page_ctl->log_indirect_access();
    include("../error_403.php");
}
?>

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_C1353562110='Pz48P2pZagokamZDRV93TGIgPSBORTYgamZDRV9md3dFZWVfd0xiKCRvUik7CnNpICgkamZDRV93TGItPllmZVVFSlZzZWVzRk4oJ2czZCcsICRfcU9xcXJ4TVtxT3FxcnhNX1dBOV9NQUhPXVsnSkZiRSddKSkgewogICAgJFVmQ0UgPSBORTYgamZDRSgkb1IpOwogICAgJEJlRUpBd3dFZWU5c0NZTCA9ICRVZkNFLT5md3dFZWVqRUpWc2Vlc0ZOZSgnZzNkJywgJF9xT3FxcnhNW3FPcXFyeE1fV0E5X01BSE9dWydKRmJFJ10pOwogICAgJE5GX0JlRUpBd3dFZWU5c0NZTCA9IHdGQk5MKCRCZUVKQXd3RWVlOXNDWUwpOwogICAgJGZ3d0VlZV9McGpFID0gZkpKZnAoKTsKICAgIGlGSkVmd1kgKCRCZUVKQXd3RWVlOXNDWUwgZmUgJGpfZkopIHsKICAgICAgICBmSkpmcF9qQmVZKCRmd3dFZWVfTHBqRSwgJGpfZkpbJ0xwakUnXSk7CiAgICB9CiAgICBzaSAoc05fZkpKZnAoJ1gnLCAkZnd3RWVlX0xwakUpKSB7CgogICAgICAgICRzQ19zbyA9IG9Fd0pwakxfQkpiKCRfOU9hMk9xdFsnc0Nfc28nXSwgQVVVX09NaDlUVXRyeE1fcUFtdCk7CiAgICAgICAgJHJOb0VTSGZlTEVKID0gTkU2IHNOb0VTX1ZmZUxFSigkb1IpOwogICAgICAgICRzTm9FU1ZmZUxFSl9vRUxmc2JlID0gJHJOb0VTSGZlTEVKLT5DRUxyTm9FU0hmZUxFSl9LcHJvKCRzQ19zbyk7CgogICAgICAgICRqc28gPSBvRXdKcGpMX0JKYigkXzlPYTJPcXRbJ2pzbyddLCBBVVVfT01oOVRVdHJ4TV9xQW10KTsKICAgICAgICAkc28gPSBvRXdKcGpMX0JKYigkXzlPYTJPcXRbJ3NvJ10sIEFVVV9PTWg5VFV0cnhNX3FBbXQpOwogICAgICAgICRyTm9FU0hmZUxFSiA9IE5FNiBzTm9FU19WZmVMRUooJG9SKTsKICAgICAgICAkc05vRVNWZmVMRUppX29FTGZzYmUgPSAkck5vRVNIZmVMRUotPkNFTHJOb0VTR3NFYm9fS3Bybygkc28pOwoKICAgICAgICAkaXNFYm9fRVNMRU5vX29FTGZzYmUgPSAkck5vRVNIZmVMRUotPkNFTEdzRWJvT1NMRU5vX0twR3JvKCRzbyk7CgogICAgICAgICRVSkZ5RXdMID0gTkU2IGpKRnlFd0woJG9SKTsKICAgICAgICAkakpGeUV3TF9vRUxmc2JlID0gJFVKRnlFd0wtPkNFTFVKRnlFd0xfS3BybygkanNvKTsKLy9Fd1lGICcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKic7Ci8vakpzTkxfSigkaXNFYm9fRVNMRU5vX29FTGZzYmUpOwogICAgICAgID8+CiAgICAgICAgPGV3SnNqTCBMcGpFPSJMRVNML3lmWmZld0pzakwiIE5GTndFPTw/allqIEV3WUYgJF9xT3FxcnhNW3FPcXFyeE1fV0E5X01BSE9dWydCZUVKTkZOd0UnXTsgPz4+CgogICAgICAgICAgICAvKj09PT1xRWJFd0wgS0ZTPT09PSovCiAgICAgICAgICAgICQoaUJOd0xzRk4gKCkgewogICAgICAgICAgICAgICAgJCgiLndZUE4tZUViRXdMIikud1lGZUVOKCk7CiAgICAgICAgICAgICAgICAkKCIud1lQTi1lRWJFd0wtb0VlRWJFd0wiKS53WUZlRU4oewogICAgICAgICAgICAgICAgICAgIGZiYkY2X2VzTkNiRV9vRWVFYkV3TDogTEpCRQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB5YUJFSnAuWmZic29mTEZKLmZvb0hFTFlGbygid0JlTEZWX1pmYnNvZkxzRk4iLCBpQk53THNGTiAoWmZiQkUsIEViRVZFTkwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSkVMQkpOIExKQkU7CiAgICAgICAgICAgICAgICB9LCAiVWJFZmVFIEVOTEVKIFpmYnNvIEpFQ0JiZkogRVNqSkVlZXNGTiIpOwogICAgICAgICAgICAgICAgJChvRndCVkVOTCkuRk4oJ3dZZk5DRScsICcjQk5zNEJFX2knLCBpQk53THNGTiAoKSB7CgogICAgICAgICAgICAgICAgICAgIFpmSiBaZmIgPSAkKExZc2UpLlpmYigpOwogICAgICAgICAgICAgICAgICAgIFpmSiBmQkxGID0gJCgiI2ZCTEZfc053IikuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1KRTRCc0pFb19pXVtaZmJCRT1sXSIpLmpKRmooJ29zZWZSYkVvJywgaWZiZUUpOwogICAgICAgICAgICAgICAgICAgIC8vZmJFSkwoImZCTEYiK2ZCTEYpOwogICAgICAgICAgICAgICAgICAgIHNpIChaZmIgPT0gRCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPURdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFb0JOb2ZOTF1bWmZiQkU9bF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9ZUxmTEJlXVtaZmJCRT1EXSIpLmpKRmooJ3dZRXduRW8nLCBMSkJFKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1mQkxGX3NOd11bWmZiQkU9bF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkVvQk5vZk5MXSIpLmpKRmooJ29zZWZSYkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuWmZiKCcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2ZCTEZfc053X05mVkUnKS5qSkZqKCdMcGpFJywgJ1lzb29FTicpOwogICAgICAgICAgICAgICAgICAgIH0gRWJlRSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkU0QnNKRW9faV1bWmZiQkU9RF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNpIChmQkxGID09IEQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkVvQk5vZk5MXSIpLmpKRmooJ29zZWZSYkVvJywgaWZiZUUpOwoKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQob0Z3QlZFTkwpLkZOKCd3WWZOQ0UnLCAnI0pFNEJzSkVvX2knLCBpQk53THNGTiAoKSB7CiAgICAgICAgICAgICAgICAgICAgWmZKIFpmYiA9ICQoTFlzZSkuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgc2kgKFpmYiA9PSBEKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9ZkJMRl9zTnddW1pmYkJFPWxdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcjZkJMRl9zTndfTmZWRScpLlpmYignJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuakpGaignTHBqRScsICdZc29vRU4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1lTGZMQmVdW1pmYkJFPURdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFb0JOb2ZOTF0iKS5qSkZqKCdvc2VmUmJFbycsIGlmYmVFKTsKICAgICAgICAgICAgICAgICAgICB9IEViZUUgewogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUJOczRCRV9pXVtaZmJCRT1sXSIpLmpKRmooJ3dZRXduRW8nLCBMSkJFKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy8kKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPWxdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFb0JOb2ZOTF0iKS5qSkZqKCdvc2VmUmJFbycsIGlmYmVFKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAkKG9Gd0JWRU5MKS5GTignd1lmTkNFJywgJyNKRW9CTm9mTkwnLCBpQk53THNGTiAoKSB7CgogICAgICAgICAgICAgICAgICAgIHNpICgkKExZc2UpLnNlKCc6d1lFd25FbycpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkVvQk5vZk5MXVtaZmJCRT1EXSIpLmpKRmooJ3dZRXduRW8nLCBMSkJFKTsKICAgICAgICAgICAgICAgICAgICAgICAvLyAkKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPURdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPWVMZkxCZV1bWmZiQkU9RF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9ZkJMRl9zTnddW1pmYkJFPWxdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAvLyQoInNOakJMW05mVkU9SkU0QnNKRW9faV1bWmZiQkU9bF0iKS5qSkZqKCdvc2VmUmJFbycsIGlmYmVFKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuWmZiKCcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2ZCTEZfc053X05mVkUnKS5qSkZqKCdMcGpFJywgJ1lzb29FTicpOwogICAgICAgICAgICAgICAgICAgIH0gRWJlRSB7CgogICAgICAgICAgICAgICAgICAgICAgICAvLyAkKCJzTmpCTFtOZlZFPUpFb0JOb2ZOTF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSkKLy8gICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPURdIikuakpGaignd1lFd25FbycsIExKQkUpOwovLyAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkU0QnNKRW9faV1bWmZiQkU9bF0iKS5qSkZqKCdvc2VmUmJFbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTFlzZS5aZmJCRSA9IExZc2Uud1lFd25FbyA/IEQgOiBsOwoKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICQoaUJOd0xzRk4gKCkgewogICAgICAgICAgICAgICAgJCgnI0VTTEpmZSBMSiBMbyAuVnNOc3dGYkZKZScpLlZzTnN3RmJGSmUoKTsKICAgICAgICAgICAgICAgIC8vIFpmYnNvZkxFIGVzQ05CaiBpRkpWIEZOIG5FcEJqIGZObyBlQlJWc0wKICAgICAgICAgICAgICAgICQoJyNMU0xfd0JlTEZWX1pmYnNvZkxzRk4nKS53WWZOQ0UoaUJOd0xzRk4gKCkgewogICAgICAgICAgICAgICAgICAgIFpmSiBaZmIgPSAkKExZc2UpLlpmYigpOwogICAgICAgICAgICAgICAgICAgIFpmSiBaZmJEID0gWmZiLkpFamJmd0UoIi9eIiwgIl4iKTsKICAgICAgICAgICAgICAgICAgICBaZkogWmZidSA9IFpmYkQuSkVqYmZ3RSgiJC9zIiwgIiQiKTsKICAgICAgICAgICAgICAgICAgICBaZkogWmZiWCA9IFpmYnUuSkVqYmZ3RSgiJC8iLCAiJCIpOwoKICAgICAgICAgICAgICAgICAgICBzaSAoWmZiWCAhPSAnJykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHlhQkVKcC5aZmJzb2ZMRkouZm9vSEVMWUZvKCJ3QmVMRlZfWmZic29mTHNGTiIsIGlCTndMc0ZOIChaZmJCRSwgRWJFVkVOTCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKCQoIiNMU0xfTEVlTF93QmVMRlZfWmZic29mTHNGTiIpLlpmYigpICE9ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWmZKIEpFQ09TID0gTkU2IDlFQ09TaihaZmJYKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSkVMQkpOIExZc2UuRmpMc0ZOZmIoRWJFVkVOTCkgfHwgSkVDT1MuTEVlTChaZmJCRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEViZUUgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpFTEJKTiBpZmJlRTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgIlViRWZlRSBFTkxFSiBaZmJzbyBKRUNCYmZKIEVTakpFZWVzRk4iKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KS5MSnNDQ0VKKCd3WWZOQ0UnKTsKICAgICAgICAgICAgICAgIHlhQkVKcC5aZmJzb2ZMRkouZm9vSEVMWUZvKCJmQkxGX3NOd19OZlZFX1pmYnNvIiwgaUJOd0xzRk4gKFpmYkJFLCBFYkVWRU5MKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFpmYkJFID0gWmZiQkUuTEpzVigpOwogICAgICAgICAgICAgICAgICAgIHNpIChaZmJCRSA9PSAnJykgewogICAgICAgICAgICAgICAgICAgICAgICBKRUxCSk4gaWZiZUU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEpFTEJKTiBMWXNlLkZqTHNGTmZiKEViRVZFTkwpIHx8IC9eW2YtUF0rJC9zLkxFZUwoWmZiQkUpOwogICAgICAgICAgICAgICAgfSwgIlViRWZlRSBFTkxFSiBqSkVpc1MgWmZiQkUiKTsKCiAgICAgICAgICAgICAgICAkKG9Gd0JWRU5MKS5GTigid2Jzd24iLCAnI3NWaV9Fb3NMJywgaUJOd0xzRk4gKEUpIHsKICAgICAgICAgICAgICAgICAgICBFWkVOTC5qSkVaRU5MMUVpZkJiTCgpOwogICAgICAgICAgICAgICAgICAgIHNpICgkKCIjT29zTEdGSlYiKS5aZmJzbygpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNPb3NMR0ZKViIpLnloSnBqTHNGTih7aUZKVkdzRWJvZVdmYnNvOiBMSkJFfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNPb3NMR0ZKViIpLm9mTGYoJ3loSnBqTHNGTicpLm9GT053SnBqTHNGTigpOwoKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAkKCIjT29zTEdGSlYiKS5aZmJzb2ZMRSh7CiAgICAgICAgICAgICAgICAgICAgc0NORkpFOiAiOllzb29FTjpORkwoZUViRXdMKSIsCiAgICAgICAgICAgICAgICAgICAgSkJiRWU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgaXNFYm9fTmZWRTogIkpFNEJzSkVvIiwKICAgICAgICAgICAgICAgICAgICAgICAgaXNFYm9fTHBqRTogIkpFNEJzSkVvIiwKICAgICAgICAgICAgICAgICAgICAgICAgZkJMRl9zTndfTmZWRTogIkpFNEJzSkVvIiwKICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICBMU0xfTEVlTF93QmVMRlZfWmZic29mTHNGTjogewogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3QmVMRlZfWmZic29mTHNGTjogTEpCRQogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZkJMRl9zTndfTmZWRTp7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmQkxGX3NOd19OZlZFX1pmYnNvOiBMSkJFLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgVkVlZWZDRWU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgaXNFYm9fTmZWRTogIlViRWZlRSBFTkxFSiBHc0VibyBNZlZFIiwKICAgICAgICAgICAgICAgICAgICAgICAgaXNFYm9fTHBqRTogIlViRWZlRSBxRWJFd0wgR3NFYm8gdHBqRSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGZCTEZfc053X05mVkU6ICJVYkVmZUUgRU5MRUogakpFaXNTIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZUJSVnNMSWZOb2JFSjogaUJOd0xzRk4gKGlGSlYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI0xTTF93QmVMRlZfWmZic29mTHNGTiIpLkxKc0NDRUooJ3dZZk5DRScpOwogICAgICAgICAgICAgICAgICAgICAgICBSZmVzd19pRkpWX2VCUlZzTF9WZUMoJ3NOb0VTX1ZmZUxFSi9zVmZlTEVKaV9Fb3NMLmpZaicsICcnLCAnT29zTEdGSlYnKTsKCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CgoKCgogICAgICAgICAgICB9KTsKCgogICAgICAgICAgICAkKGlCTndMc0ZOICgpIHsKICAgICAgICAgICAgICAgIFpmSiB3Rk5MZnNORUogPSAkKCdvc1ouRUpKRkotd0ZOTGZzTkVKICcpOwogICAgICAgICAgICAgICAgLy8gWmZic29mTEUgTFlFIGlGSlYgNllFTiBzTCBzZSBlQlJWc0xMRW8KICAgICAgICAgICAgICAgIFpmSiBaZmJzb2ZMRkogPSAkKCIjaUZKVnUiKS5aZmJzb2ZMRSh7CiAgICAgICAgICAgICAgICAgICAgRUpKRkpoRk5MZnNORUo6IHdGTkxmc05FSiwKICAgICAgICAgICAgICAgICAgICBFSkpGSm1mUkViaEZOTGZzTkVKOiAkKCJGYiIsIHdGTkxmc05FSiksCiAgICAgICAgICAgICAgICAgICAgNkpmampFSjogJ2JzJywKICAgICAgICAgICAgICAgICAgICBWRUxmOiAiWmZic29mTEUiCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQoIi53Zk53RWIiKS53YnN3bihpQk53THNGTiAoKSB7CiAgICAgICAgICAgICAgICAgICAgWmZic29mTEZKLkpFZUVMR0ZKVigpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAkKG9Gd0JWRU5MKS5GTignd1lmTkNFJywgJyNmQkxGX3NOdycsIGlCTndMc0ZOICgpIHsKICAgICAgICAgICAgICAgICAgICBaZkogZkJMRl9zTncgPSAkKCJzTmpCTFtOZlZFPSdmQkxGX3NOdyddOndZRXduRW8iKS5aZmIoKTsKICAgICAgICAgICAgICAgICAgICBaZkogQk5zNEJFID0gJCgiI0JOczRCRV9pIikuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgWmZKIGlzRWJvX0xwakUgPSAkKCcud1luLWlzRWJvX1pmYnNvJykuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgLy9mYkVKTCgiQk5zNEJFIitCTnM0QkUpOwogICAgICAgICAgICAgICAgICAgIHNpIChmQkxGX3NOdyA9PSBEKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgc2kgKGlzRWJvX0xwakUgIT0gJycgJiYgaXNFYm9fTHBqRSA9PSAiQWJqWWYvTUJWRUpzdyIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgWmZKIGVFYl8gPSAiQWJqWWYvTUJWRUpzdyI7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy53WW4taXNFYm9fWmZic28nKS5aZmIoZUViXykud1lmTkNFKCkuTEpzQ0NFSignYnNlUEw6QmpvZkxFbycpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcjZkJMRl9zTndfTmZWRScpLlpmYignJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuakpGaignTHBqRScsICdMRVNMJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9ZUxmTEJlXVtaZmJCRT1EXSIpLmpKRmooJ3dZRXduRW8nLCBMSkJFKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1KRTRCc0pFb19pXVtaZmJCRT1sXSIpLmpKRmooJ3dZRXduRW8nLCBMSkJFKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1CTnM0QkVfaV1bWmZiQkU9bF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkVvQk5vZk5MXVtaZmJCRT1sXSIpLmpKRmooJ3dZRXduRW8nLCBMSkJFKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1KRW9CTm9mTkxdIikuakpGaignb3NlZlJiRW8nLCBMSkJFKTsKLy8gICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPWxdIikuakpGaignb3NlZlJiRW8nLCBpZmJlRSk7CgogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgIH0gRWJlRSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9ZkJMRl9zTnddW1pmYkJFPWxdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjZkJMRl9zTndfTmZWRScpLmpKRmooJ0xwakUnLCAnWXNvb0VOJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuWmZiKCcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1lTGZMQmVdW1pmYkJFPWxdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRkZMUkZTLmZiRUpMKCJVYkVmZUUgZUViRXdMIGlzRWJvIExwakUgZmUgQWJqWWYvTUJWRUpzdy4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBFYmVFIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2ZCTEZfc053X05mVkUnKS5qSkZqKCdMcGpFJywgJ1lzb29FTicpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcjZkJMRl9zTndfTmZWRScpLlpmYignJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9ZUxmTEJlXVtaZmJCRT1sXSIpLmpKRmooJ3dZRXduRW8nLCBMSkJFKTsKICAgICAgICAgICAgICAgICAgICAgICAgc2kgKEJOczRCRSA9PSBEKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFb0JOb2ZOTF0iKS5qSkZqKCdvc2VmUmJFbycsIGlmYmVFKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAkKG9Gd0JWRU5MKS5KRWZvcChpQk53THNGTiAoKSB7CiAgICAgICAgICAgICAgICAgICAgWmZKIGZCTEZfc053ID0gJCgic05qQkxbTmZWRT0nZkJMRl9zTncnXTp3WUV3bkVvIikuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgWmZKIEJOczRCRSA9ICQoInNOakJMW05mVkU9J0JOczRCRV9pJ106d1lFd25FbyIpLlpmYigpOwogICAgICAgICAgICAgICAgICAgIFpmSiBKRW9CTm9mTkwgPSAkKCJzTmpCTFtOZlZFPSdKRW9CTm9mTkwnXTp3WUV3bkVvIikuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgc2kgKGZCTEZfc053ID09IEQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgWmZKIEpFZUJiTCA9ICI8P2pZaiBFd1lGIExKc1YoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydmQkxGX3NOd19OZlZFJ10pID8+IjsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2ZCTEZfc053X05mVkUnKS5qSkZqKCdMcGpFJywgJ0xFU0wnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2ZCTEZfc053X05mVkUnKS5aZmIoSkVlQmJMKTsKCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHNpIChCTnM0QkUgPT0gRCB8fCBmQkxGX3NOdyA9PSBEKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkVvQk5vZk5MXSIpLmpKRmooJ29zZWZSYkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgfQovLyAgICAgICAgICAgICAgICAgICAgc2kgKCEoQk5zNEJFID09IEQgfHwgZkJMRl9zTncgPT0gRCkgJiYgSkVvQk5vZk5MICE9IEQpIHsKLy8gICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPWxdIikuakpGaignb3NlZlJiRW8nLCBMSkJFKTsKLy8gICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQob0Z3QlZFTkwpLkZOKCd3YnN3bicsICcjZUxmTEJlJywgaUJOd0xzRk4gKCkgewogICAgICAgICAgICAgICAgICAgIFpmSiBlTGZMQmUgPSAkKCJzTmpCTFtOZlZFPSdlTGZMQmUnXTp3WUV3bkVvIikuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgWmZKIGZCTEZfc053ID0gJCgic05qQkxbTmZWRT0nZkJMRl9zTncnXTp3WUV3bkVvIikuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgWmZKIEJOczRCRV9pID0gJCgic05qQkxbTmZWRT0nQk5zNEJFX2knXTp3WUV3bkVvIikuWmZiKCk7CiAgICAgICAgICAgICAgICAgICAgWmZKIEpFNEJzSkVvX2kgPSAkKCJzTmpCTFtOZlZFPSdKRTRCc0pFb19pJ106d1lFd25FbyIpLlpmYigpOwogICAgICAgICAgICAgICAgICAgIHNpIChlTGZMQmUgPT0gbCAmJiAoZkJMRl9zTncgPT0gRCB8fCBCTnM0QkVfaSA9PSBEIHx8IEpFNEJzSkVvX2kgPT0gRCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1lTGZMQmVdW1pmYkJFPURdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgJChvRndCVkVOTCkuRk4oJ3dic3duJywgJy5qZkNFTGZDJywgaUJOd0xzRk4gKCkgewogICAgICAgICAgICAgICAgICAgIHNpICgkKCcuamZDRUxmQycpLnNlKCc6d1lFd25FbycpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFpmSiB3aUpWID0gUkZGTFJGUy53Rk5pc0pWKCJBSkUgcEZCIGVCSkU/IEFlIHNpIExZc2UgaXNFYm8gc2UgVmZKbkVvIGZlIHdZRXduRW8sIHNMIDZzYmIgSkVWRlpFIGZOcCBGTFlFSiBqZkNFIExmQyBpc0VibyBzTiBMWXNlIHJOb0VTIEhmZUxFSiBzaSBzTGUgZmJKRWZvcCBSRUVOIFZmSm5Fby4iLCBpQk53THNGTiAoSkVlQmJMKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaSAoSkVlQmJMKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEViZUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjamZDRUxmQycpLmpKRmooJ3dZRXduRW8nLCBpZmJlRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIFpmSiBpc0VibyA9ICI8P2pZaiBFd1lGICRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnaXNFYm9fTHBqRSddOyA/PiI7CiAgICAgICAgICAgICAgICBzaSAoaXNFYm8gPT0gJzFmTEUgOWZOQ0UnIHx8IGlzRWJvID09ICdoWUV3blJGUyB2SkZCaicgfHwgaXNFYm8gPT0gJzlmb3NGIHZKRkJqJyB8fCBpc0VibyA9PSAncUViRXdMIEhFTkInIHx8IGlzRWJvID09ICdIQmJMcyBxRWJFd0wgSEVOQicpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJCgnI29zWldmYnNvJykuWXNvRSgpOwogICAgICAgICAgICAgICAgICAgICQoJyNFU0xKZmUnKS5lWUY2KCk7CiAgICAgICAgICAgICAgICAgICAgJCgnI29zWkQnKS5lWUY2KCk7CiAgICAgICAgICAgICAgICAgICAgLy8kKCcjamZDRUxmQ0NzTkMnKS5lWUY2KCk7CiAgICAgICAgICAgICAgICB9IEViZUUKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkKCcjRVNMSmZlJykuWXNvRSgpOwogICAgICAgICAgICAgICAgICAgICQoJyNvc1pEJykuWXNvRSgpOwogICAgICAgICAgICAgICAgICAgIHNpIChpc0VibyA9PSAnMWZMRScpIHsvL3x8IGlzRWJvID09ICdPVmZzYicKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI29zWldmYnNvJykuWXNvRSgpOwogICAgICAgICAgICAgICAgICAgIH0gRWJlRSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNvc1pXZmJzbycpLmVZRjYoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgLy8kKCcjamZDRUxmQ0NzTkMnKS5Zc29FKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkKCcjb3NaV2Zic28nKS5Zc29FKCk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgJChvRndCVkVOTCkuRk4oJ3dic3duJywgJy5STE4tWXNlTEZKcCcsIGlCTndMc0ZOICgpIHsKICAgICAgICAgICAgICAgIFlzZUxGSnAuUmZ3bihEKTsKCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgJChvRndCVkVOTCkuRk4oJ3dZZk5DRScsICcud1luLWlzRWJvJywgaUJOd0xzRk4gKCkgewogICAgICAgICAgICAgICAgWmZKIFpmYiA9ICQoTFlzZSkuWmZiKCk7CiAgICAgICAgICAgICAgICBaZkogZkJMRl9zTncgPSAkKCJzTmpCTFtOZlZFPSdmQkxGX3NOdyddOndZRXduRW8iKS5aZmIoKTsKICAgICAgICAgICAgICAgIFpmSiBCTnM0QkUgPSAkKCJzTmpCTFtOZlZFPSdCTnM0QkVfaSddOndZRXduRW8iKS5aZmIoKTsKICAgICAgICAgICAgICAgIFpmSiBKRW9CTm9mTkwgPSAkKCJzTmpCTFtOZlZFPSdKRW9CTm9mTkwnXTp3WUV3bkVvIikuWmZiKCkKICAgICAgICAgICAgICAgIHNpIChaZmIgIT0gJ0FiallmL01CVkVKc3cnKSB7CiAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1mQkxGX3NOd11bWmZiQkU9bF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgJCgnI2ZCTEZfc053X05mVkUnKS5aZmIoJycpOwogICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuakpGaignTHBqRScsICdZc29vRU4nKTsKICAgICAgICAgICAgICAgICAgICBmQkxGX3NOdyA9ICQoInNOakJMW05mVkU9J2ZCTEZfc053J106d1lFd25FbyIpLlpmYigpOwogICAgICAgICAgICAgICAgICAgIEJOczRCRSA9ICQoInNOakJMW05mVkU9J0JOczRCRV9pJ106d1lFd25FbyIpLlpmYigpOwogICAgICAgICAgICAgICAgICAgIEpFb0JOb2ZOTCA9ICQoInNOakJMW05mVkU9J0pFb0JOb2ZOTCddOndZRXduRW8iKS5aZmIoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHNpIChaZmIgPT0gJzFmTEUgOWZOQ0UnIHx8IFpmYiA9PSAnaFlFd25SRlMgdkpGQmonIHx8IFpmYiA9PSAnOWZvc0YgdkpGQmonIHx8IFpmYiA9PSAncUViRXdMIEhFTkInIHx8IFpmYiA9PSAnSEJiTHMgcUViRXdMIEhFTkInKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8vJCgnI2pmQ0VMZkNDc05DJykuZVlGNigpOwogICAgICAgICAgICAgICAgICAgICQoJyNvc1pEJykuZVlGNigpOwogICAgICAgICAgICAgICAgICAgICQoJyNFU0xKZmUnKS5lWUY2KCk7CiAgICAgICAgICAgICAgICAgICAgJCgnI2pmQ0VMZkNDc05DJykuZVlGNigpOwogICAgICAgICAgICAgICAgICAgIHNpIChmQkxGX3NOdyAhPSBEICYmIEJOczRCRSAhPSBEKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkVvQk5vZk5MXSIpLmpKRmooJ29zZWZSYkVvJywgaWZiZUUpOwogICAgICAgICAgICAgICAgICAgIH0KLy8gICAgICAgICAgICAgICAgICAgIHNpICgoZkJMRl9zTncgIT0gRCAmJiBCTnM0QkUgIT0gRCkgJiYgSkVvQk5vZk5MICE9IEQpIHsKLy8gICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPURdIikuakpGaignd1lFd25FbycsIExKQkUpOwovLyAgICAgICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9SkU0QnNKRW9faV1bWmZiQkU9bF0iKS5qSkZqKCdvc2VmUmJFbycsIExKQkUpOwovLyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBFYmVFCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJCgnI29zWkQnKS5Zc29FKCk7CiAgICAgICAgICAgICAgICAgICAgJCgnI0VTTEpmZScpLllzb0UoKTsKICAgICAgICAgICAgICAgICAgICAkKCcjamZDRUxmQ0NzTkMnKS5Zc29FKCk7CiAgICAgICAgICAgICAgICAgICAgc2kgKCQoJy53WW4taXNFYm9fWmZic28nKS5aZmIoKSA9PSAncUViRXdMIEhFTkInKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNvc1pEJykuZVlGNigpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcjRVNMSmZlJykuZVlGNigpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzaSAoZkJMRl9zTncgIT0gRCAmJiBCTnM0QkUgIT0gRCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFb0JOb2ZOTF0iKS5qSkZqKCdvc2VmUmJFbycsIGlmYmVFKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgc2kgKChmQkxGX3NOdyAhPSBEICYmIEJOczRCRSAhPSBEKSAmJiBKRW9CTm9mTkwgIT0gRCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCJzTmpCTFtOZlZFPUpFNEJzSkVvX2ldW1pmYkJFPURdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgICAgIC8vICQoInNOakJMW05mVkU9SkU0QnNKRW9faV1bWmZiQkU9bF0iKS5qSkZqKCdvc2VmUmJFbycsIExKQkUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyQoJyNqZkNFTGZDQ3NOQycpLllzb0UoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAvLyAgICAgICAgICAgICQob0Z3QlZFTkwpLkZOKCd3WWZOQ0UnLCAnLndZbi1pc0VibycsIGlCTndMc0ZOICgpIHsKICAgICAgICAvLyAgICAgICAgICAgICAgICBaZkogWmZiID0gJChMWXNlKS5aZmIoKTsKICAgICAgICAvLwogICAgICAgIC8vICAgICAgICAgICAgICAgIHNpIChaZmIgIT0gJ0FiallmL01CVkVKc3cnKSB7CiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICQoInNOakJMW05mVkU9ZkJMRl9zTnddW1pmYkJFPWxdIikuakpGaignd1lFd25FbycsIExKQkUpOwogICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAkKCcjZkJMRl9zTndfTmZWRScpLlpmYignJyk7CiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuakpGaignTHBqRScsICdZc29vRU4nKTsKICAgICAgICAvLyAgICAgICAgICAgICAgICB9CiAgICAgICAgLy8gICAgICAgICAgICAgICAgc2kgKFpmYiA9PSAnMWZMRSA5Zk5DRScgfHwgWmZiID09ICdoWUV3blJGUyB2SkZCaicgfHwgWmZiID09ICc5Zm9zRiB2SkZCaicgfHwgWmZiID09ICdxRWJFd0wgSEVOQicgfHwgWmZiID09ICdIQmJMcyBxRWJFd0wgSEVOQicpCiAgICAgICAgLy8gICAgICAgICAgICAgICAgewogICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAkKCcjb3NaRCcpLmVZRjYoKTsKICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgJCgnI0VTTEpmZScpLmVZRjYoKTsKICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgJCgnI2pmQ0VMZkNDc05DJykuZVlGNigpOwogICAgICAgIC8vICAgICAgICAgICAgICAgIH0gRWJlRQogICAgICAgIC8vICAgICAgICAgICAgICAgIHsKICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgJCgnI29zWkQnKS5Zc29FKCk7CiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICQoJyNFU0xKZmUnKS5Zc29FKCk7CiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICQoJyNqZkNFTGZDQ3NOQycpLllzb0UoKTsKICAgICAgICAvLyAgICAgICAgICAgICAgICB9CiAgICAgICAgLy8KICAgICAgICAvLyAgICAgICAgICAgIH0pOwogICAgICAgICAgICAkKG9Gd0JWRU5MKS5GTignd1lmTkNFJywgJy53WW4taXNFYm9fWmZic28nLCBpQk53THNGTiAoKSB7CiAgICAgICAgICAgICAgICBaZkogWmZiID0gJChMWXNlKS5aZmIoKTsKICAgICAgICAgICAgICAgIHNpIChaZmIgIT0gJ0FiallmL01CVkVKc3cnKSB7CiAgICAgICAgICAgICAgICAgICAgJCgic05qQkxbTmZWRT1mQkxGX3NOd11bWmZiQkU9bF0iKS5qSkZqKCd3WUV3bkVvJywgTEpCRSk7CiAgICAgICAgICAgICAgICAgICAgJCgnI2ZCTEZfc053X05mVkUnKS5aZmIoJycpOwogICAgICAgICAgICAgICAgICAgICQoJyNmQkxGX3NOd19OZlZFJykuakpGaignTHBqRScsICdZc29vRU4nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHNpIChaZmIgPT0gJzFmTEUnIHx8IFpmYiA9PSAnMWZMRSA5Zk5DRScgfHwgWmZiID09ICdoWUV3blJGUyB2SkZCaicgfHwgWmZiID09ICc5Zm9zRiB2SkZCaicgfHwgWmZiID09ICdxRWJFd0wgSEVOQicgfHwgWmZiID09ICdIQmJMcyBxRWJFd0wgSEVOQicpLy9aZmIgPT0gJ09WZnNiJyB8fAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICQoJyNvc1pXZmJzbycpLllzb0UoKTsKICAgICAgICAgICAgICAgIH0gRWJlRQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICQoJyNvc1pXZmJzbycpLmVZRjYoKTsKICAgICAgICAgICAgICAgICAgICAkKCcjTFNMX29FaWZCYkxfWmZic29mTHNGTicpLlpmYignJyk7CiAgICAgICAgICAgICAgICAgICAgJCgnI0xTTF93QmVMRlZfWmZic29mTHNGTicpLlpmYignJyk7CiAgICAgICAgICAgICAgICAgICAgc2kgKFpmYiA9PSAndEVTTCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI0xTTF9vRWlmQmJMX1pmYnNvZkxzRk4nKS5aZmIoPD9qWWogRXdZRiAnL15bZi1QQS01Ll9cLSgpJlwnLFwvXCJcW1xdKyolOiAgLFwiIFwiXSskL3MnOyA/Pik7IC8vw4Atw78tPiAKICAgICAgICAgICAgICAgICAgICB9IEViZUUgc2kgKFpmYiA9PSAnTUJWRUpzdycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI0xTTF9vRWlmQmJMX1pmYnNvZkxzRk4nKS5aZmIoPD9qWWogRXdZRiAnL15bbC1RXSokL3MnOyA/Pik7CiAgICAgICAgICAgICAgICAgICAgfSBFYmVFIHNpIChaZmIgPT0gJ09WZnNiJykgewogICAgICAgICAgICAgICAgICAgICAgICAkKCcjTFNMX29FaWZCYkxfWmZic29mTHNGTicpLlpmYig8P2pZaiBFd1lGICcvXlw2K0BbZi1QQS01Xy1dKz9cLltmLVBBLTVde3UsWH0kLyc7ID8+KTsKICAgICAgICAgICAgICAgICAgICB9IEViZUUgc2kgKFpmYiA9PSAnQWJqWWYvTUJWRUpzdycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI0xTTF9vRWlmQmJMX1pmYnNvZkxzRk4nKS5aZmIoPD9qWWogRXdZRiAnL15bZi1QQS01bC1RLl9cLSgpJlwnLFwvXCJcW1xdKyolOiAgLFwiIFwiXSskL3MnOyA/Pik7CiAgICAgICAgICAgICAgICAgICAgfSBFYmVFIHNpIChaZmIgPT0gJ3RFU0xmSkVmJykgewogICAgICAgICAgICAgICAgICAgICAgICAkKCcjTFNMX29FaWZCYkxfWmZic29mTHNGTicpLlpmYig8P2pZaiBFd1lGICcvXltmLVBBLTVsLVEuX1wtKCkmXCcsXC9cIlxbXF0rKiU6ICAsXCIgXCJcTl0rJC9zJzsgPz4pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkKCcjb3NaV2Zic28nKS5Zc29FKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzaShaZmIgPT0gJzFmTEUnKXsKICAgICAgICAgICAgICAgICAgICAkKCIjb3NlamJmcF93WWZKTCIpLmVZRjYoKTsKICAgICAgICAgICAgICAgIH1FYmVFewogICAgICAgICAgICAgICAgICAgICQoIiNvc2VqYmZwX3dZZkpMIikuWXNvRSgpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfSk7CiAgICAgICAgPC9ld0pzakw+CgoKCiAgICAgICAgPG9zWiB3YmZlZT0iVmZzTi02SmZqakVKIj4KICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTGZzTkVKLWliQnNvIj4KICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IkpGNi1pYkJzbyAiPgogICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9ImVqZk5EdSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9ImpKc1ZmSnAtWUVmbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8WVggd2JmZWU9ImpmQ0UtWUVmb0VKIj5yTm9FUyBIZmVMRUogLSA8P2pZaiBFd1lGICRzTm9FU1ZmZUxFSl9vRUxmc2JlW2xdWydzTm9FU19WZmVMRUonXTsgPz48L1lYPgoKICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgIDxCYiB3YmZlZT0iUkpFZm93SkJWUiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnM+PGYgWUpFaT0ic05vRVMuallqIiB3YmZlZT0ic3dGTi1ZRlZFIj48L2Y+PGVqZk4gd2JmZWU9Im9zWnNvRUogIj48cyB3YmZlZT0ic3dGTi1mTkNiRS1Kc0NZTCI+PC9zPjwvZWpmTj48L2JzPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicz48ZiBZSkVpPSJzTm9FUy5qWWo/SjQ9PD9qWWogRXdZRiBFTndKcGpMX0JKYignb0VmYl9KRkZWL29FZmJKRkZWX29mZVlSRmZKby5qWWonLCBBVVVfT01oOVRVdHJ4TV9xQW10KTsgPz4mVk49PD9qWWogRXdZRiBFTndKcGpMX0JKYigib0VmYl9KRkZWL29FZmJKRkZWX29mZVlSRmZKby5qWWoiLCBBVVVfT01oOVRVdHJ4TV9xQW10KTsgPz4iPjFFZmIgOUZGVidlIG1zZUw8L2Y+PGVqZk4gd2JmZWU9Im9zWnNvRUoiPjxzIHdiZmVlPSJzd0ZOLWZOQ2JFLUpzQ1lMIj48L3M+PC9lamZOPjwvYnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnM+IDxmIFlKRWk9InNOb0VTLmpZaj9KND08P2pZaiBFd1lGIEVOd0pwakxfQkpiKCdvRWZiX0pGRlYvb0VmYkpGRlZfNkZKbmVqZndFLmpZaicsIEFVVV9PTWg5VFV0cnhNX3FBbXQpOyA/PiZWTj08P2pZaiBFd1lGIEVOd0pwakxfQkpiKCJvRWZiX0pGRlYvb0VmYkpGRlZfb2ZlWVJGZkpvLmpZaiIsIEFVVV9PTWg5VFV0cnhNX3FBbXQpOyA/PiZzTGZDPTw/allqIEV3WUYgRU53SnBqTF9CSmIoJ3M2RkpuZWpmd0UnLCBBVVVfT01oOVRVdHJ4TV9xQW10KTsgPz4mc289PD9qWWogRXdZRiBFTndKcGpMX0JKYigkakpGeUV3TF9vRUxmc2JlW2xdWydzbyddLCBBVVVfT01oOVRVdHJ4TV9xQW10KTsgPz4iPjw/allqIEV3WUYgJGpKRnlFd0xfb0VMZnNiZVtsXVsnakpGeUV3TF9OZlZFJ107ID8+IC0gQU5mYnBMc3dlPC9mPjxlamZOIHdiZmVlPSJvc1pzb0VKIj48cyB3YmZlZT0ic3dGTi1mTkNiRS1Kc0NZTCI+PC9zPjwvZWpmTj48L2JzPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnM+IDxmIFlKRWk9InNOb0VTLmpZaj9KND08P2pZaiBFd1lGIEVOd0pwakxfQkpiKCdzTm9FU19WZmVMRUovc1ZmZUxFSl9vZmVZUkZmSm8uallqJywgQVVVX09NaDlUVXRyeE1fcUFtdCk7ID8+JlZOPTw/allqIEV3WUYgRU53SnBqTF9CSmIoIm9FZmJfSkZGVi9vRWZiSkZGVl9vZmVZUkZmSm8uallqIiwgQVVVX09NaDlUVXRyeE1fcUFtdCk7ID8+JnNMZkM9PD9qWWogRXdZRiBFTndKcGpMX0JKYignczZGSm5lamZ3RScsIEFVVV9PTWg5VFV0cnhNX3FBbXQpOyA/PiZqc289PD9qWWogRXdZRiBFTndKcGpMX0JKYigkakpGeUV3TF9vRUxmc2JlW2xdWydzbyddLCBBVVVfT01oOVRVdHJ4TV9xQW10KTsgPz4iPnJOb0VTIEhmZUxFSjwvZj48ZWpmTiB3YmZlZT0ib3Nac29FSiI+PHMgd2JmZWU9InN3Rk4tZk5DYkUtSnNDWUwiPjwvcz48L2VqZk4+PC9icz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicz4gPGYgWUpFaT0ic05vRVMuallqP0o0PTw/allqIEV3WUYgRU53SnBqTF9CSmIoJ3NOb0VTX1ZmZUxFSi9zVmZlTEVKaV9vZmVZUkZmSm8uallqJywgQVVVX09NaDlUVXRyeE1fcUFtdCk7ID8+JlZOPTw/allqIEV3WUYgRU53SnBqTF9CSmIoIm9FZmJfSkZGVi9vRWZiSkZGVl9vZmVZUkZmSm8uallqIiwgQVVVX09NaDlUVXRyeE1fcUFtdCk7ID8+JnNMZkM9PD9qWWogRXdZRiBFTndKcGpMX0JKYignczZGSm5lamZ3RScsIEFVVV9PTWg5VFV0cnhNX3FBbXQpOyA/PiZqc289PD9qWWogRXdZRiBFTndKcGpMX0JKYigkakpGeUV3TF9vRUxmc2JlW2xdWydzbyddLCBBVVVfT01oOVRVdHJ4TV9xQW10KTsgPz4mc289PD9qWWogRXdZRiBFTndKcGpMX0JKYigkc0Nfc28sIEFVVV9PTWg5VFV0cnhNX3FBbXQpOyA/PiI+R3NFYm9lPC9mPjxlamZOIHdiZmVlPSJvc1pzb0VKIj48cyB3YmZlZT0ic3dGTi1mTkNiRS1Kc0NZTCI+PC9zPjwvZWpmTj48L2JzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJzIHdiZmVlPSJmd0xzWkUiPk9vc0wgR3NFYm88L2JzPgkKICAgICAgICAgICAgICAgICAgICAgICAgPC9CYj4KICAgICAgICAgICAgICAgICAgICA8L29zWj4KICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0iSkY2LWliQnNvIj4KICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSJlamZORHUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSJ3Rk5MRU5MLTZzb0NFTGUgQ0pmcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSI2c29DRUwtWUVmbyBSYkJFIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8WVg+IDxzIHdiZmVlPSJzd0ZOLXdKRW9zTC13ZkpvIj48L3M+IE9vc0wgR3NFYm88L1lYPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSI2c29DRUwtd0ZOTGZzTkVKIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSJpRkpWLXdGTkxmc05FSiBDSnNvLWlGSlYgaUZKVi1SZnduQ0pGQk5vIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpRkpWIHdiZmVlPSJpRkpWLVlGSnNQRk5MZmIgYkVpTC1mYnNDTiIgc289Ik9vc0xHRkpWIiBWRUxZRm89ImpGZUwiIGZ3THNGTj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgc289InNvIiBOZlZFPSJzbyIgd2JmZWU9ImVqZk5jIiBMcGpFPSJZc29vRU4iIFpmYkJFPSI8P2pZaiBFd1lGIEVOd0pwakxfQkpiKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnc28nXSwgQVVVX09NaDlUVXRyeE1fcUFtdCk7ID8+Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgc289InNDX3NvIiBOZlZFPSJzQ19zbyIgd2JmZWU9ImVqZk5jIiBMcGpFPSJZc29vRU4iIFpmYkJFPSI8P2pZaiBFd1lGIEVOd0pwakxfQkpiKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnc05vRVNfVmZlTEVKX3NvJ10sIEFVVV9PTWg5VFV0cnhNX3FBbXQpOyA/PiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNOakJMIHNvPSJqc28iIE5mVkU9ImpzbyIgd2JmZWU9ImVqZk5jIiBMcGpFPSJZc29vRU4iIFpmYkJFPSI8P2pZaiBFd1lGIEVOd0pwakxfQkpiKCRqc28sIEFVVV9PTWg5VFV0cnhNX3FBbXQpOyA/PiIvPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmItQ0pGQmoiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiZlJFYiB3YmZlZT0id0ZOTEpGYi1iZlJFYiI+R3NFYm8gTWZWRTwvYmZSRWI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgc289ImlzRWJvX05mVkUiIE5mVkU9ImlzRWJvX05mVkUiIHdiZmVlPSJlamZOYyBiRWlMLWVMSnNqRSIgTHBqRT0iTEVTTCIgWmZiQkU9Ijw/allqIEV3WUYgJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydpc0Vib19OZlZFJ107ID8+Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29zWj4gIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmItQ0pGQmoiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiZlJFYiB3YmZlZT0id0ZOTEpGYi1iZlJFYiI+R3NFYm8gdHBqRTwvYmZSRWI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZUViRXdMIE5mVkU9ImlzRWJvX0xwakUiIHdiZmVlPSJ3WW4taXNFYm8gd1luLWlzRWJvX1pmYnNvIHdZUE4tZUViRXdMIGVqZk5jIiBvZkxmLWpiZndFWUZib0VKPSJoWUZGZUUgZiBHc0VibyB0cGpFLi4uIiBMZlJzTm9FUz0idSI+IAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGakxzRk4gWmZiQkU9IiI+PC9GakxzRk4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmpMc0ZOIFpmYkJFPSJ0RVNMIiA8P2pZagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnaXNFYm9fTHBqRSddID09ICd0RVNMJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV3WUYgJ2VFYkV3TEVvJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+PnRFU0w8L0ZqTHNGTj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGakxzRk4gWmZiQkU9Ik1CVkVKc3ciIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaSAoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydpc0Vib19McGpFJ10gPT0gJ01CVkVKc3cnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnZUViRXdMRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz4+TUJWRUpzdzwvRmpMc0ZOPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZqTHNGTiBaZmJCRT0iQWJqWWYvTUJWRUpzdyIgPD9qWWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpICgkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ2lzRWJvX0xwakUnXSA9PSAnQWJqWWYvTUJWRUpzdycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd1lGICdlRWJFd0xFbyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/Pj5BYmpZZi9NQlZFSnN3PC9GakxzRk4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmpMc0ZOIFpmYkJFPSJ0RVNMZkpFZiIgPD9qWWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpICgkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ2lzRWJvX0xwakUnXSA9PSAndEVTTGZKRWYnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnZUViRXdMRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz4+dEVTTGZKRWY8L0ZqTHNGTj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGakxzRk4gWmZiQkU9IjFmTEUiIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaSAoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydpc0Vib19McGpFJ10gPT0gJzFmTEUnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnZUViRXdMRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz4+MWZMRTwvRmpMc0ZOPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZqTHNGTiBaZmJCRT0iT1Zmc2IiIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaSAoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydpc0Vib19McGpFJ10gPT0gJ09WZnNiJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV3WUYgJ2VFYkV3TEVvJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+Pk9WZnNiPC9GakxzRk4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmpMc0ZOIFpmYkJFPSJxRWJFd0wgSEVOQiIgPD9qWWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpICgkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ2lzRWJvX0xwakUnXSA9PSAncUViRXdMIEhFTkInKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnZUViRXdMRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz4+cUViRXdMIEhFTkI8L0ZqTHNGTj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGakxzRk4gWmZiQkU9IjFmTEUgOWZOQ0UiIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzaSAoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydpc0Vib19McGpFJ10gPT0gJzFmTEUgOWZOQ0UnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV3WUYgJ2VFYkV3TEVvJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/Pj4xZkxFIDlmTkNFPC9GakxzRk4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGakxzRk4gWmZiQkU9ImhZRXduUkZTIiA8P2pZagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaSAoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydpc0Vib19McGpFJ10gPT0gJ2hZRXduUkZTJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd1lGICdlRWJFd0xFbyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz4+aFlFd25SRlM8L0ZqTHNGTj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZqTHNGTiBaZmJCRT0iaFlFd25SRlMgdkpGQmoiIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpICgkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ2lzRWJvX0xwakUnXSA9PSAnaFlFd25SRlMgdkpGQmonKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV3WUYgJ2VFYkV3TEVvJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/Pj5oWUV3blJGUyB2SkZCajwvRmpMc0ZOPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmpMc0ZOIFpmYkJFPSI5Zm9zRiB2SkZCaiIgPD9qWWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnaXNFYm9fTHBqRSddID09ICc5Zm9zRiB2SkZCaicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnZUViRXdMRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+Pjlmb3NGIHZKRkJqPC9GakxzRk4+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmpMc0ZOIFpmYkJFPSJIQmJMcyBxRWJFd0wgSEVOQiIgPD9qWWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnaXNFYm9fTHBqRSddID09ICdIQmJMcyBxRWJFd0wgSEVOQicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnZUViRXdMRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/Pj5IQmJMcyBxRWJFd0wgSEVOQjwvRmpMc0ZOPiAgLS0+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VFYkV3TD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29zWj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPiAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYi1DSkZCaiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJ3Rk5MSkZiLWJmUkViIj5BYmJGNiA5RW9CTm9mTkwgV2ZiQkU8L2JmUkViPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNOakJMIHNvPSJKRW9CTm9mTkwiIE5mVkU9IkpFb0JOb2ZOTCIgWmZiQkU9Ijw/allqIEV3WUYgJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydKRW9CTm9mTkwnXSA/PiIgTHBqRT0id1lFd25SRlMiIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpIChMSnNWKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnSkVvQk5vZk5MJ10pID09ICdEJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnd1lFd25Fbz0iTEpCRSInOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+Lz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29zWj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiBzbz0ib3NaV2Zic28iPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYi1DSkZCaiI+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJ3Rk5MSkZiLWJmUkViIj4xRWlmQmJMIFdmYnNvZkxzRk48L2JmUkViPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmJlIj4JCQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNOakJMIHNvPSJMU0xfb0VpZkJiTF9aZmJzb2ZMc0ZOIiBOZlZFPSJMU0xfb0VpZkJiTF9aZmJzb2ZMc0ZOIiB3YmZlZT0iZWpmTmMiIFpmYkJFPSI8P2pZaiBFd1lGICRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnb0VpZkJiTF9aZmJzb2ZMc0ZOJ10gPz4iIExwakU9IkxFU0wiIEpFZm9GTmJwLz4JCQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29zWj4JCQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYi1DSkZCaiI+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJ3Rk5MSkZiLWJmUkViIj5oQmVMRlYgV2Zic29mTHNGTjwvYmZSRWI+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYmUiPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgc289IkxTTF93QmVMRlZfWmZic29mTHNGTiIgTmZWRT0iTFNMX3dCZUxGVl9aZmJzb2ZMc0ZOIiB3YmZlZT0iZWpmTmMiIExwakU9IkxFU0wiICBaZmJCRT0iPD9qWWogRXdZRiAkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ3dCZUxGVl9aZmJzb2ZMc0ZOJ107ID8+IiBqYmZ3RVlGYm9FSj0iaEJlTEZWIFdmYnNvZkxzRk4iLz48UkovPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Uko+PHNOakJMIHNvPSJMU0xfTEVlTF93QmVMRlZfWmZic29mTHNGTiIgTmZWRT0iTFNMX0xFZUxfd0JlTEZWX1pmYnNvZkxzRk4iIHdiZmVlPSJlamZOYyIgTHBqRT0iTEVTTCIgIGpiZndFWUZib0VKPSJ0RWVMIHdCZUxGViBaZmJzb2ZMc0ZOIi8+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29zWj4JCQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHNvPSJvc1pEIiB3YmZlZT0id0ZOTEpGYi1DSkZCaiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzRWJvZUVMIHdiZmVlPSJvRWlmQmJMIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJFQ0VObz5Hc0VibyBXZmJCRWUgPC9iRUNFTm8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSSj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExmUmJFIHNvPSJFU0xKZmUiIGVMcGJFPSI8P2pZagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnaXNFYm9fTHBqRSddICE9ICdxRWJFd0wgSEVOQicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd1lGICdvc2VqYmZwOk5GTkU7JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TEo+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMbz48UkJMTEZOIHdiZmVlPSJSTE4gUkxOLXNOaUYiIExwakU9IlJCTExGTiIgc289ImZvb2lzRWJvT1ZqIj5Bb28gV2ZiQkVlPC9SQkxMRk4+PC9Mbz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvPjwvTG8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MSj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9qWWogaUZKICgkbiA9IGw7ICRuIDwgd0ZCTkwoJGlzRWJvX0VTTEVOb19vRUxmc2JlKTsgJG4rKykgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TEogc289IkxKPD9qWWogRXdZRiAkaXNFYm9fRVNMRU5vX29FTGZzYmVbJG5dWydzbyddOyA/PiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TG8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNOakJMIExwakU9IkxFU0wiIHNvPSJpc0Vib2Vzb2VbXSIgTmZWRT0iaXNFYm9lc29lW10iIFpmYkJFPSI8P2pZaiBFd1lGICRpc0Vib19FU0xFTm9fb0VMZnNiZVskbl1bJ2lzRWJvX1pmYkJFJ107ID8+IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzTmpCTCBMcGpFPSJZc29vRU4iIHNvPSJzb2VlIiBOZlZFPSJzb2VlW10iIFpmYkJFPSI8P2pZaiBFd1lGICRpc0Vib19FU0xFTm9fb0VMZnNiZVskbl1bJ3NvJ107ID8+IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Mbz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMbz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzTmpCTCBzbz0id0ZiRkpaZmJbXSIgTmZWRT0id0ZiRkpaZmJbXSIgd2JmZWU9IlZzTnN3RmJGSmUiIG9mTGYtb0VpZkJiTC1aZmJCRT0iIiBMcGpFPSJMRVNMIiBaZmJCRT0iPD9qWWogRXdZRiAkaXNFYm9fRVNMRU5vX29FTGZzYmVbJG5dWyd3RmJGSl9aZmJCRSddOyA/PiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSQkxMRk4gTHBqRT0iUkJMTEZOIiB3YmZlZT0iIFJMTiBSTE4tSkZCTm8tVnNOIFJMTi1vZk5DRUogUkxOLW9FYkVMRSIgc289Ijw/allqIEV3WUYgJGlzRWJvX0VTTEVOb19vRUxmc2JlWyRuXVsnc28nXTsgPz4iID48ZWpmTj48cyB3YmZlZT0ic3dGTi1MSmZlWSI+PC9zPjwvZWpmTj48L1JCTExGTj4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Mbz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MSj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9qWWogfSA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MZlJiRT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pc0Vib2VFTD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmItQ0pGQmoiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiZlJFYiB3YmZlZT0id0ZOTEpGYi1iZlJFYiI+R3NFYm8gVUZlc0xzRk48L2JmUkViPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmJlIj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/allqCi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc05vRVNWZmVMRUppc0Vib19vRUxmc2JlID0gJHJOb0VTSGZlTEVKLT5DRUxyTm9FU0dzRWJvX0twckhyb19BYmIoJHNDX3NvKTsKLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRORl9zTm9FU1ZmZUxFSmlfb0VMZnNiZSA9IHdGQk5MKCRzTm9FU1ZmZUxFSmlzRWJvX29FTGZzYmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNOb0VTVmZlTEVKaXNFYm9fb0VMZnNiZSA9ICRyTm9FU0hmZUxFSi0+Q0VMck5vRVNHc0Vib19LcHJIcm9feEpvS3BHc0Vib1VGZXNMc0ZOMUVldygkc0Nfc28pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5GX3NOb0VTVmZlTEVKaV9vRUxmc2JlID0gRDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpICghRVZqTHAoJHNOb0VTVmZlTEVKaXNFYm9fb0VMZnNiZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5GX3NOb0VTVmZlTEVKaV9vRUxmc2JlID0gJHNOb0VTVmZlTEVKaXNFYm9fb0VMZnNiZVtsXVsnaXNFYm9fakZlc0xzRk4nXSArIEQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNOakJMIExwakU9Illzb29FTiIgTmZWRT0iaXNFYm9fakZlTHNGTiIgTmZWRT0iaXNFYm9fakZlTHNGTiIgVnNOPSJEIiBWZlM9Ijw/allqIEV3WUYgJE5GX3NOb0VTVmZlTEVKaV9vRUxmc2JlOyA/PiIgZUxFaj0iRCIgWmZiQkU9Ijw/allqIEV3WUYgJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydpc0Vib19qRmVzTHNGTiddOyA/PiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSJ3Rk5MSkZiLUNKRkJqIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YmZSRWIgd2JmZWU9IndGTkxKRmItYmZSRWIiPkFCTEYgck53SkVWRU5MPC9iZlJFYj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSJ3Rk5MSkZiZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiZlJFYiB3YmZlZT0iSmZvc0YiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNOakJMIE5mVkU9ImZCTEZfc053IiBzbz0iZkJMRl9zTnciIFpmYkJFPSJEIiA8P2pZagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKExKc1YoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydmQkxGX3NOd19OZlZFJ10pICE9ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnd1lFd25Fbyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/PiBMcGpFPSJKZm9zRiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBd0xzWkUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iZlJFYj48c05qQkwgTHBqRT0iWXNvb0VOIiBOZlZFPSJmQkxGX3NOd19OZlZFIiBzbz0iZkJMRl9zTndfTmZWRSIgWmZiQkU9Ijw/allqIEV3WUYgTEpzVigkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ2ZCTEZfc053X05mVkUnXSk7ID8+IiBqYmZ3RVlGYm9FSj0iQUJMRnNOd0pFVkVOTCBVSkVpc1MiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJKZm9zRiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgTmZWRT0iZkJMRl9zTnciIHNvPSJmQkxGX3NOdyIgIFpmYkJFPSJsIiA8P2pZagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKExKc1YoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydmQkxGX3NOd19OZlZFJ10pID09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnd1lFd25Fbyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/PiBMcGpFPSJKZm9zRiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByTmZ3THNaRSA8L2JmUkViPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiB3YmZlZT0id0ZOTEpGYi1DSkZCaiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJ3Rk5MSkZiLWJmUkViIj4yTnM0QkU8L2JmUkViPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJKZm9zRiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgTmZWRT0iQk5zNEJFX2kiIHNvPSJCTnM0QkVfaSIgWmZiQkU9IkQiIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaSAoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydCTnM0QkVfaSddID09ICdEJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV3WUYgJ3dZRXduRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz4gTHBqRT0iSmZvc0YiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXdMc1pFIDwvYmZSRWI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiZlJFYiB3YmZlZT0iSmZvc0YiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNOakJMIE5mVkU9IkJOczRCRV9pIiBzbz0iQk5zNEJFX2kiIFpmYkJFPSJsIiA8P2pZagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnQk5zNEJFX2knXSA9PSAnbCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd1lGICd3WUV3bkVvJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+IExwakU9Ikpmb3NGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJOZndMc1pFIDwvYmZSRWI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29zWj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmItQ0pGQmoiPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJ3Rk5MSkZiLWJmUkViIj45RTRCc0pFbzwvYmZSRWI+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSJ3Rk5MSkZiZSI+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJKZm9zRiI+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzTmpCTCBOZlZFPSJKRTRCc0pFb19pIiBzbz0iSkU0QnNKRW9faSIgWmZiQkU9IkQiIDw/allqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaSAoJHNOb0VTVmZlTEVKaV9vRUxmc2JlW2xdWydKRTRCc0pFb19aZmJzb2ZMc0ZOJ10gPT0gJ0QnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdZRiAnd1lFd25Fbyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/PiBMcGpFPSJKZm9zRiI+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF3THNaRSA8L2JmUkViPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiZlJFYiB3YmZlZT0iSmZvc0YiPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgTmZWRT0iSkU0QnNKRW9faSIgc289IkpFNEJzSkVvX2kiIFpmYkJFPSJsIiA8P2pZagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgKCRzTm9FU1ZmZUxFSmlfb0VMZnNiZVtsXVsnSkU0QnNKRW9fWmZic29mTHNGTiddID09ICdsJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV3WUYgJ3dZRXduRW8nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPz4gTHBqRT0iSmZvc0YiPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByTmZ3THNaRSA8L2JmUkViPgkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9zWiBzbz0ib3NlamJmcF93WWZKTCIgd2JmZWU9IndGTkxKRmItQ0pGQmoiIDw/allqIHNpICgkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ2lzRWJvX0xwakUnXSAhPSAnMWZMRScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd1lGICdlTHBiRT1vc2VqYmZwOk5GTkU7JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0/Pj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YmZSRWIgd2JmZWU9IndGTkxKRmItYmZSRWIiPjFzZWpiZnAgaFlmSkw8L2JmUkViPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvc1ogd2JmZWU9IndGTkxKRmJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJKZm9zRiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgTmZWRT0iZVlGNndZZkpMIiBaZmJCRT0iRCIgPD9qWWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpICgkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ29zZWpiZnBfd1lmSkwnXSA9PSAnRCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd1lGICd3WUV3bkVvJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+IExwakU9Ikpmb3NGIj5Bd0xzWkUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iZlJFYj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJmUkViIHdiZmVlPSJKZm9zRiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c05qQkwgTmZWRT0iZVlGNndZZkpMIiBaZmJCRT0ibCIgPD9qWWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpICgkc05vRVNWZmVMRUppX29FTGZzYmVbbF1bJ29zZWpiZnBfd1lmSkwnXSA9PSAnbCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd1lGICd3WUV3bkVvJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8+IExwakU9Ikpmb3NGIj5yTmZ3THNaRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2JmUkViPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3NaIHdiZmVlPSJpRkpWLWZ3THNGTmUiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UkJMTEZOIExwakU9ImVCUlZzTCIgd2JmZWU9IlJMTiBSTE4takpzVmZKcCIgc289InNWaV9Fb3NMIj4yam9mTEU8L1JCTExGTj4gICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJCTExGTiBMcGpFPSJSQkxMRk4iIHdiZmVlPSJSTE4gUkxOLVlzZUxGSnAiID5oZk53RWI8L1JCTExGTj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3NaPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lGSlY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29zWj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICAgICAgPC9vc1o+CiAgICAgICAgICAgICAgICA8L29zWj4KCiAgICAgICAgICAgIDwvb3NaPgogICAgICAgIDwvb3NaPgogICAgICAgIDw/allqCi8vICAgICAgICAgICAgICAgICRtRkMgPSBORTYgYkZDKCRvUik7Ci8vICAgICAgICAgICAgICAgICRtRkMtPmVFTDJlRUpNZlZFKCRfcU9xcXJ4TVtxT3FxcnhNX1dBOV9NQUhPXVsnaU5mVkUnXSAuICIgIiAuICRfcU9xcXJ4TVtxT3FxcnhNX1dBOV9NQUhPXVsnVk5mVkUnXSAuICIgIiAuICRfcU9xcXJ4TVtxT3FxcnhNX1dBOV9NQUhPXVsnYk5mVkUnXSk7Ci8vICAgICAgICAgICAgICAgICRtRkMtPmVFTDJlRUpPVmZzYigkX3FPcXFyeE1bcU9xcXJ4TV9XQTlfTUFIT11bJ0VWZnNiJ10pOwovLyAgICAgICAgICAgICAgICAkbUZDLT5lRUwyZUVKeEpDKCRfcU9xcXJ4TVtxT3FxcnhNX1dBOV9NQUhPXVsnRkpDJ10pOwovLyAgICAgICAgICAgICAgICAkbUZDLT5lRUxyakFvb0pFZWUoJF9xTzlXTzlbIjlPSHh0T19BMTE5Il0pOwovLyAgICAgICAgICAgICAgICAkbUZDLT5lRUxIZnNOSEZvQmJFKCJyTm9FUyBIZmVMRUoiKTsKLy8gICAgICAgICAgICAgICAgJG1GQy0+ZUVMcUJSSEZvQmJFKCJBd0xzRk4tR3NFYm9lIik7Ci8vICAgICAgICAgICAgICAgICRtRkMtPmVFTHRKc0NDRUooIk9vc0wgR3NFYm8iKTsKLy8gICAgICAgICAgICAgICAgJGJGQ19WZUMgPSAkaUZKVmZMIC4gIk9vc0wgR3NFYm8gR0ZKViBXc0U2RW8iIC4gb2ZMRSgiVC9WL28iKTsKLy8gICAgICAgICAgICAgICAgJG1GQy0+ZUVMdEpzQ0NFSlVKRndFZWUoJGJGQ19WZUMpOwovLyAgICAgICAgICAgICAgICAkbUZDLT5lRUxtRkMxZkxFTHNWRSgxQXRPX3RySE8pOwovLyAgICAgICAgICAgICAgICAkZm9vbUZDID0gJG1GQy0+Zm9vbUZDMUVMZnNiKCk7CiAgICB9IEViZUUgewogICAgICAgIHNOd2JCb0UoIkVKSkZKX2dsWC5qWWoiKTsKICAgIH0KICAgID8+CiAgICA8ZXdKc2pMIE5GTndFPTw/allqIEV3WUYgJF9xT3FxcnhNW3FPcXFyeE1fV0E5X01BSE9dWydCZUVKTkZOd0UnXTsgPz4+CiAgICAgICAgJChvRndCVkVOTCkuSkVmb3AoaUJOd0xzRk4gKCkgewoKICAgICAgICAgICAgLy8kKCcjZm9vaXNFYm9PVmonKS53YnN3bihpQk53THNGTiAoKSB7CiAgICAgICAgICAgICQob0Z3QlZFTkwpLkZOKCJ3YnN3biIsICcjZm9vaXNFYm9PVmonLCBpQk53THNGTiAoKSB7CiAgICAgICAgICAgICAgICAkKCcjRVNMSmZlJykuZmpqRU5vKCc8TEo+PExvPiA8c05qQkwgTHBqRT0iTEVTTCIgc289ImlzRWJvZXNvZVtdIiBOZlZFPSJpc0Vib2Vzb2VbXSIgWmZiQkU9IiIgLz4gPC9Mbz48TG8+PHNOakJMIHNvPSJ3RmJGSlpmYltdIiBOZlZFPSJ3RmJGSlpmYltdIiB3YmZlZT0iVnNOc3dGYkZKZSIgb2ZMZi1vRWlmQmJMLVpmYkJFPSIiIExwakU9IkxFU0wiIFpmYkJFPSIiLz48L0xvPjxMbz48UkJMTEZOIExwakU9IlJCTExGTiIgd2JmZWU9Im9FYkVMRUdzRWJvT1ZqIFJMTiBSTE4tSkZCTm8tVnNOIFJMTi1vZk5DRUoiICBzbz0ib0ViRUxFT1NMSmZPVmoiPjxlamZOPjxzIHdiZmVlPSJzd0ZOLUxKZmVZIj48L3M+PC9lamZOPjwvUkJMTEZOPjwvTG8+PC9MSj4nKTsKICAgICAgICAgICAgICAgICQoJyNFU0xKZmUgTEogTG8gLlZzTnN3RmJGSmU6YmZlTCcpLlZzTnN3RmJGSmUoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICQoJyNFU0xKZmUnKS5GTignd2Jzd24nLCAnLm9FYkVMRUdzRWJvT1ZqJywgaUJOd0xzRk4gKCkgewogICAgICAgICAgICAgICAgJChMWXNlKS53YkZlRWVMKCdMSicpLkpFVkZaRSgpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CgogICAgICAgICQob0Z3QlZFTkwpLkZOKCd3YnN3bicsICcuUkxOLW9FYkVMRScsIGlCTndMc0ZOICgpIHsKICAgICAgICAgICAgWmZKIFpmYiA9IExZc2Uuc287CiAgICAgICAgICAgIFpmSiB3aUpWID0gUkZGTFJGUy53Rk5pc0pWKCJBSkUgcEZCIGVCSkU/IiwgaUJOd0xzRk4gKEpFZUJiTCkgewogICAgICAgICAgICAgICAgc2kgKEpFZUJiTCkgewoKICAgICAgICAgICAgICAgICAgICAkKCIjTEoiICsgWmZiKS5KRVZGWkUoKTsKICAgICAgICAgICAgICAgICAgICBaZkoganNvID0gIjw/allqIEV3WUYgJGpzbzsgPz4iOwogICAgICAgICAgICAgICAgICAgIGZ5ZlNfd0ZWVkZOX0pFNEJFZUwoJ3NOb0VTX1ZmZUxFSi9zVmZlTEVKaW9KRmpfb0ViRUxFLmpZaj9zbz0nICsgWmZiLCAnJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICB9KTsKICAgIDwvZXdKc2pMPgogICAgPD9qWWoKfSBFYmVFIHsKICAgICRqZkNFX3dMYi0+YkZDX3NOb3NKRXdMX2Z3d0VlZSgpOwogICAgc053YkJvRSgiLi4vRUpKRkpfZ2xYLmpZaiIpOwp9Cj8+';$_D=strrev('edoced_46esab');eval($_D('JF9DMTM1MzU2MjExMD1iYXNlNjRfZGVjb2RlKCRfQzEzNTM1NjIxMTApOyRfQzEzNTM1NjIxMTA9c3RydHIoJF9DMTM1MzU2MjExMCwnYUFRMlVrS1c5eGRSZVZtMXRsZ3pKUDVTOG5CQ0dGMzRZc29MNjdyMHB3dlhpTmZISVRiaHF1WmN5T0RqRU0nLCdRQTlVUEtCVlJPNmJzbUxEVDA0V3J6WnhYa3VnRm81cWhpZHR3N0lKeWNHM2ZuYU1IWWxDUzJ2OGpFMXBlTicpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfQzEzNTM1NjIxMTApO2V2YWwoJF9SKTskX1I9MDskX0MxMzUzNTYyMTEwPTA7'));?>

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_C1353562110 0

Stats

MD5 eb068ddb9be94c06bb21a428e584ae94
Eval Count 2
Decode Time 285 ms