diff --git a/application/config/version.php b/application/config/version.php index 9c64cbebcb0..564a5cb05b3 100644 --- a/application/config/version.php +++ b/application/config/version.php @@ -12,7 +12,7 @@ */ $config['versionnumber'] = '4.4.12'; -$config['dbversionnumber'] = 440; +$config['dbversionnumber'] = 441; $config['buildnumber'] = ''; $config['updatable'] = true; $config['templateapiversion'] = 3; diff --git a/application/controllers/QuestionAdministrationController.php b/application/controllers/QuestionAdministrationController.php index 9a4481aceb4..180f491cb18 100644 --- a/application/controllers/QuestionAdministrationController.php +++ b/application/controllers/QuestionAdministrationController.php @@ -119,7 +119,7 @@ public function actionEdit($questionId, $tabOverviewEditor = 'overview') { $questionId = (int) $questionId; - /** @var Question|null */ + /** @var $question Question|null */ $question = Question::model()->findByPk($questionId); if (empty($question)) { throw new CHttpException(404, gT("Invalid question id")); diff --git a/application/controllers/SurveyAdministrationController.php b/application/controllers/SurveyAdministrationController.php index 409eb00c0d4..da8c0a400f9 100644 --- a/application/controllers/SurveyAdministrationController.php +++ b/application/controllers/SurveyAdministrationController.php @@ -366,6 +366,12 @@ public function actionNewSurvey() 'N' => gT('Off', 'unescaped'), ); + $aData['optionsAdmin'] = array( + 'default' => gT('Default', 'unescaped'), + 'owner' => gT('Current user', 'unescaped'), + 'custom' => gT('Custom', 'unescaped'), + ); + //Prepare the edition panes // $aData['edittextdata'] = array_merge($aData, $this->getTextEditData($survey)); @@ -437,15 +443,23 @@ public function actionInsert($iSurveyID = null) if ($baseLanguage === null) { $baseLanguage = 'en'; //shoulb be const somewhere ... or get chosen language from user } - $simpleSurveyValues->setBaseLanguage($baseLanguage); - $simpleSurveyValues->setSurveyGroupId((int) App()->request->getPost('gsid', '1')); - $simpleSurveyValues->setTitle($surveyTitle); + $simpleSurveyValues->baseLanguage = $baseLanguage; + $simpleSurveyValues->surveyGroupId = (int) App()->request->getPost('gsid', '1'); + $simpleSurveyValues->title = $surveyTitle; + + $administrator = Yii::app()->request->getPost('administrator'); + if ($administrator == 'custom') { + $simpleSurveyValues->admin = Yii::app()->request->getPost('admin'); + $simpleSurveyValues->adminEmail = Yii::app()->request->getPost('adminemail'); + } + $overrideAdministrator = ($administrator != 'owner'); $surveyCreator = new \LimeSurvey\Models\Services\CreateSurvey(new Survey(), new SurveyLanguageSetting()); $newSurvey = $surveyCreator->createSimple( $simpleSurveyValues, (int)Yii::app()->user->getId(), - Permission::model() + Permission::model(), + $overrideAdministrator ); if (!$newSurvey) { Yii::app()->setFlashMessage(gT("Survey could not be created."), 'error'); diff --git a/application/controllers/admin/export.php b/application/controllers/admin/export.php index 0657967c0cb..e8814c84769 100644 --- a/application/controllers/admin/export.php +++ b/application/controllers/admin/export.php @@ -554,6 +554,18 @@ public function exportspss() } } + // Add instructions to change variable type and recode 'Other' option. + // This is needed when all answer option codes are numeric but the question has 'Other' enabled, + // because the variable is initialy set as alphanumeric in order to hold the '-oth-' value. See issue #16939 + foreach ($fields as $field) { + if (isset($field['needsAlterType'])) { + echo "RECODE {$field['id']} (\"-oth-\" = \"666666\").\n"; + echo "EXECUTE.\n"; + echo "ADD VALUE LABELS {$field['id']} 666666 \"other\".\n"; + echo "ALTER TYPE {$field['id']} (F6.0).\n"; + } + } + foreach ($fields as $field) { if ($field['scale'] !== '') { switch ($field['scale']) { diff --git a/application/controllers/admin/responses.php b/application/controllers/admin/responses.php index c1c7f48e272..d76b42b0582 100644 --- a/application/controllers/admin/responses.php +++ b/application/controllers/admin/responses.php @@ -967,11 +967,6 @@ public function time($iSurveyID) */ private function _zipFiles($iSurveyID, $responseIds, $zipfilename) { - /** - * @todo Move this to model. - */ - App()->loadLibrary('admin/pclzip'); - $tmpdir = App()->getConfig('uploaddir') . DIRECTORY_SEPARATOR . "surveys" . DIRECTORY_SEPARATOR . $iSurveyID . DIRECTORY_SEPARATOR . "files" . DIRECTORY_SEPARATOR; $filelist = array(); @@ -987,19 +982,20 @@ private function _zipFiles($iSurveyID, $responseIds, $zipfilename) */ if (file_exists($tmpdir . basename($fileInfo['filename']))) { $filelist[] = array( - PCLZIP_ATT_FILE_NAME => $tmpdir . basename($fileInfo['filename']), - PCLZIP_ATT_FILE_NEW_FULL_NAME => sprintf("%05s_%02s-%s_%02s-%s", $response->id, $filecount, $fileInfo['question']['title'], $fileInfo['index'], sanitize_filename(rawurldecode($fileInfo['name']))) + $tmpdir . basename($fileInfo['filename']), + sprintf("%05s_%02s-%s_%02s-%s", $response->id, $filecount, $fileInfo['question']['title'], $fileInfo['index'], sanitize_filename(rawurldecode($fileInfo['name']))) ); } } } if (count($filelist) > 0) { - $zip = new PclZip($tmpdir . $zipfilename); - if ($zip->create($filelist) === 0) { - //Oops something has gone wrong! + $zip = new ZipArchive(); + $zip->open($tmpdir.$zipfilename,ZipArchive::CREATE); + foreach($filelist as $aFile) { + $zip->addFile($aFile[0],$aFile[1]); } - + $zip->close(); if (file_exists($tmpdir . '/' . $zipfilename)) { @ob_clean(); header('Content-Description: File Transfer'); diff --git a/application/core/QuestionTypes/ArrayMultiscale/RenderArrayMultiscale.php b/application/core/QuestionTypes/ArrayMultiscale/RenderArrayMultiscale.php index 7d757110f3b..a2977b643ae 100644 --- a/application/core/QuestionTypes/ArrayMultiscale/RenderArrayMultiscale.php +++ b/application/core/QuestionTypes/ArrayMultiscale/RenderArrayMultiscale.php @@ -429,6 +429,12 @@ public function render($sCoreClasses = '') $this->registerAssets(); $this->inputnames[] = $this->sSGQA; + + if (!Yii::app()->getClientScript()->isScriptFileRegistered(Yii::app()->getConfig('generalscripts') . "dualscale.js", LSYii_ClientScript::POS_BEGIN)) { + Yii::app()->getClientScript()->registerScriptFile(Yii::app()->getConfig('generalscripts') . "dualscale.js", LSYii_ClientScript::POS_BEGIN); + } + Yii::app()->getClientScript()->registerScript('doDualScaleFunction' . $this->oQuestion->qid, "{$this->doDualScaleFunction}({$this->oQuestion->qid});", LSYii_ClientScript::POS_POSTSCRIPT); + return array($answer, $this->inputnames); } } diff --git a/application/datavalueobjects/SimpleSurveyValues.php b/application/datavalueobjects/SimpleSurveyValues.php index 781c061f22b..ddaf25089b4 100644 --- a/application/datavalueobjects/SimpleSurveyValues.php +++ b/application/datavalueobjects/SimpleSurveyValues.php @@ -17,59 +17,17 @@ class SimpleSurveyValues { /** @var string language selected by user */ - private $baseLanguage; + public $baseLanguage; /** @var string title of the survey */ - private $title; + public $title; /** @var int the surveygroup from which the new survey will inherit values */ - private $surveyGroupId; + public $surveyGroupId; - /** - * @return string - */ - public function getBaseLanguage(): string - { - return $this->baseLanguage; - } + /** @var string administrator name */ + public $admin = 'inherit'; - /** - * @param string $baseLanguage - */ - public function setBaseLanguage(string $baseLanguage) - { - $this->baseLanguage = $baseLanguage; - } - - /** - * @return string - */ - public function getTitle(): string - { - return $this->title; - } - - /** - * @param string $title - */ - public function setTitle(string $title) - { - $this->title = $title; - } - - /** - * @return int - */ - public function getSurveyGroupId(): int - { - return $this->surveyGroupId; - } - - /** - * @param int $surveyGroupId - */ - public function setSurveyGroupId(int $surveyGroupId) - { - $this->surveyGroupId = $surveyGroupId; - } + /** @var string administrator email */ + public $adminEmail = 'inherit'; } diff --git a/application/extensions/GeneralOptionWidget/GeneralOptionWidget.php b/application/extensions/GeneralOptionWidget/GeneralOptionWidget.php index b28a59fdf12..3c51d49f146 100644 --- a/application/extensions/GeneralOptionWidget/GeneralOptionWidget.php +++ b/application/extensions/GeneralOptionWidget/GeneralOptionWidget.php @@ -13,6 +13,13 @@ public function run() if ($this->generalOption->inputType === 'buttongroup') { //echo '
';print_r($this->generalOption->formElement->options);die;
         }
+
+        //workaround if inputType is text, then take out "" in the middle of the string and replace every " inside the string
+        //with '
+        if($this->generalOption->inputType === 'text'){
+            $this->generalOption->formElement->value = str_replace('"', "'",$this->generalOption->formElement->value);
+        }
+
         $content = $this->render($this->generalOption->inputType, null, true);
         $this->render('layout', ['content' => $content]);
     }
diff --git a/application/helpers/export_helper.php b/application/helpers/export_helper.php
index 591f924d270..2fa7bbce76b 100644
--- a/application/helpers/export_helper.php
+++ b/application/helpers/export_helper.php
@@ -17,12 +17,15 @@
 * Strips html tags and replaces new lines
 *
 * @param $string
+* @param $removeOther   if 'true', removes '-oth-' from the string.
 * @return string
 */
-function stripTagsFull($string)
+function stripTagsFull($string, $removeOther = true)
 {
     $string = flattenText($string, false, true); // stripo whole + html_entities
-    $string = str_replace('-oth', '', $string);// Why ?
+    if ($removeOther) {
+        $string = str_replace('-oth-', '', $string);
+    }
     //The backslashes must be escaped twice, once for php, and again for the regexp
     $string = str_replace("'|\\\\'", "'", $string);
     return $string;
@@ -252,7 +255,7 @@ function SPSSExportData($iSurveyID, $iLength, $na = '', $sEmptyAnswerValue = '',
                             break; // Break inside if : comment and other are string to be filtered
                         } // else do default action
                     default:
-                        $strTmp = mb_substr(stripTagsFull($row[$fieldno]), 0, $iLength);
+                        $strTmp = mb_substr(stripTagsFull($row[$fieldno], false), 0, $iLength);
                         if (trim($strTmp) != '') {
                             echo quoteSPSS($strTmp, $q, $field);
                         } elseif ($row[$fieldno] === '') {
@@ -314,7 +317,7 @@ function SPSSGetValues($field = array(), $qidattributes = null, $language)
                 foreach ($result as $row) {
                     $answers[] = array(
                         'code' => $row['code'],
-                        'value' => mb_substr(stripTagsFull($row["answer"]), 0, $length_vallabel),
+                        'value' => mb_substr(stripTagsFull($row["answer"], false), 0, $length_vallabel),
                     );
                 }
             }
@@ -408,8 +411,18 @@ function SPSSGetValues($field = array(), $qidattributes = null, $language)
                 $spsstype = 'A';
             }
         }
+        // For questions types with answer options, if all answer codes are numeric but "Other" option is enabled,
+        // field should be exported as SPSS type 'A', size 6. See issue #16939
+        if (strpos("!LORFH1", $field['LStype']) !== false && $spsstype == 'F') {
+            $oQuestion = Question::model()->findByPk($field["qid"]);
+            if ($oQuestion->other == 'Y') {
+                $spsstype = 'A';
+                $size = 6;
+            }
+        }
         $answers['SPSStype'] = $spsstype;
         $answers['size'] = $size;
+        $answers['needsAlterType'] = true;
         return $answers;
     } else {
         /* Not managed (currently): url, IP, … */
@@ -649,6 +662,10 @@ function SPSSFieldMap($iSurveyID, $prefix = 'V', $sLanguage = '')
                 $tempArray['SPSStype'] = $answers['SPSStype'];
                 unset($answers['SPSStype']);
             }
+            if (isset($answers['needsAlterType'])) {
+                $tempArray['needsAlterType'] = $answers['needsAlterType'];
+                unset($answers['needsAlterType']);
+            }
             if (!empty($answers)) {
                 $tempArray['answers'] = $answers;
             }
diff --git a/application/helpers/expressions/em_manager_helper.php b/application/helpers/expressions/em_manager_helper.php
index 25391f7d10a..8102d9a288a 100644
--- a/application/helpers/expressions/em_manager_helper.php
+++ b/application/helpers/expressions/em_manager_helper.php
@@ -3948,13 +3948,18 @@ public function setVariableAndTokenMappingsForExpressionManager($surveyid, $forc
 
             $token = Token::model($surveyid)->findByToken($_SESSION[$this->sessid]['token']);
             if ($token) {
+                $tokenEncryptionOptions = $survey->getTokenEncryptionOptions();
                 foreach ($token as $key => $val) {
-                    $this->knownVars["TOKEN:" . strtoupper($key)] = array(
+                    // Decrypt encrypted token attributes
+                    if (isset($tokenEncryptionOptions['columns'][$key]) && $tokenEncryptionOptions['columns'][$key] === 'Y'){
+                        $val = $token->decrypt($val);
+                    }
+                    $this->knownVars["TOKEN:" . strtoupper($key)] = [
                         'code' => $anonymized ? '' : $val,
                         'jsName_on' => '',
                         'jsName' => '',
                         'readWrite' => 'N',
-                    );
+                    ];
                 }
             }
         } else {
diff --git a/application/helpers/twig_translation_helper.php b/application/helpers/twig_translation_helper.php
index 1f974840870..14b04d825fc 100644
--- a/application/helpers/twig_translation_helper.php
+++ b/application/helpers/twig_translation_helper.php
@@ -1,26 +1,28 @@
 commit();
         }
 
+        if ($iOldDBVersion < 441) {
+            $oTransaction = $oDB->beginTransaction();
+            // Convert old html editor modes if present in global settings
+            $oDB->createCommand()->update(
+                '{{settings_global}}',
+                array(
+                    'stg_value' => 'inline',
+                ),
+                "stg_name='defaulthtmleditormode' AND stg_value='wysiwyg'"
+            );
+            $oDB->createCommand()->update(
+                '{{settings_global}}',
+                array(
+                    'stg_value' => 'none',
+                ),
+                "stg_name='defaulthtmleditormode' AND stg_value='source'"
+            );
+            // Convert old html editor modes if present in profile settings
+            $oDB->createCommand()->update(
+                '{{users}}',
+                array(
+                    'htmleditormode' => 'inline',
+                ),
+                "htmleditormode='wysiwyg'"
+            );
+            $oDB->createCommand()->update(
+                '{{users}}',
+                array(
+                    'htmleditormode' => 'none',
+                ),
+                "htmleditormode='source'"
+            );
+            $oDB->createCommand()->update('{{settings_global}}', array('stg_value' => 441), "stg_name='DBVersion'");
+            $oTransaction->commit();
+        }
     } catch (Exception $e) {
         Yii::app()->setConfig('Updating', false);
         $oTransaction->rollback();
diff --git a/application/models/Question.php b/application/models/Question.php
index 2913ffca7aa..ffa72dea422 100644
--- a/application/models/Question.php
+++ b/application/models/Question.php
@@ -620,7 +620,7 @@ public static function getQuestionClass($sType)
     {
         switch ($sType) {
             case Question::QT_1_ARRAY_MULTISCALE:
-                return 'array-flexible-duel-scale';
+                return 'array-flexible-dual-scale';
             case Question::QT_5_POINT_CHOICE:
                 return 'choice-5-pt-radio';
             case Question::QT_A_ARRAY_5_CHOICE_QUESTIONS:
diff --git a/application/models/QuestionTheme.php b/application/models/QuestionTheme.php
index ba920d5c78f..04582092a5b 100644
--- a/application/models/QuestionTheme.php
+++ b/application/models/QuestionTheme.php
@@ -411,7 +411,6 @@ public static function getQuestionMetaData($pathToXML)
         foreach ($questionDirectories as $key => $questionDirectory) {
             $questionDirectories[$key] = str_replace('\\', '/', $questionDirectory);
         }
-        $publicurl = App()->getConfig('publicurl');
 
         $pathToXML = str_replace('\\', '/', $pathToXML);
         if (\PHP_VERSION_ID < 80000) {
@@ -459,7 +458,7 @@ public static function getQuestionMetaData($pathToXML)
         // get custom previewimage if defined
         if (!empty($oQuestionConfig->files->preview->filename)) {
             $previewFileName = json_decode(json_encode($oQuestionConfig->files->preview->filename), true)[0];
-            $questionMetaData['image_path'] = $publicurl . $pathToXML . '/assets/' . $previewFileName;
+            $questionMetaData['image_path'] = DIRECTORY_SEPARATOR . $pathToXML . '/assets/' . $previewFileName;
         }
 
         $questionMetaData['xml_path'] = $pathToXML;
diff --git a/application/models/services/CreateSurvey.php b/application/models/services/CreateSurvey.php
index 1b7a86031dc..047ec838d14 100644
--- a/application/models/services/CreateSurvey.php
+++ b/application/models/services/CreateSurvey.php
@@ -64,15 +64,15 @@ public function __construct($survey, $newLanguageSettings)
      *
      * @return Survey|bool returns the survey or false if survey could not be created for any reason
      */
-    public function createSimple($simpleSurveyValues, $userID, $permissionModel)
+    public function createSimple($simpleSurveyValues, $userID, $permissionModel, $overrideAdministrator = true)
     {
 
         $this->simpleSurveyValues = $simpleSurveyValues;
-        $this->survey->gsid = $simpleSurveyValues->getSurveyGroupId();
+        $this->survey->gsid = $simpleSurveyValues->surveyGroupId;
         try {
             $this->createSurveyId();
             $this->setBaseLanguage();
-            $this->initialiseSurveyAttributes();
+            $this->initialiseSurveyAttributes($overrideAdministrator);
 
             if (!$this->survey->save()) {
                 // TODO: Localization?
@@ -102,7 +102,7 @@ public function createSimple($simpleSurveyValues, $userID, $permissionModel)
      */
     private function createRelationSurveyLanguageSettings($langsettings)
     {
-        $sTitle = html_entity_decode($this->simpleSurveyValues->getTitle(), ENT_QUOTES, "UTF-8");
+        $sTitle = html_entity_decode($this->simpleSurveyValues->title, ENT_QUOTES, "UTF-8");
 
         // Fix bug with FCKEditor saving strange BR types
         $sTitle = fixCKeditorText($sTitle);
@@ -146,7 +146,7 @@ private function createRelationSurveyLanguageSettings($langsettings)
      */
     private function setBaseLanguage()
     {
-        $baseLang = $this->simpleSurveyValues->getBaseLanguage();
+        $baseLang = $this->simpleSurveyValues->baseLanguage;
 
         //check if language exists in our language array...
         $languageShortNames = getLanguageDataRestricted(true, 'short');
@@ -183,18 +183,17 @@ private function createSurveyId()
     /**
      * @return void
      */
-    private function initialiseSurveyAttributes()
+    private function initialiseSurveyAttributes($overrideAdministrator = true)
     {
         $this->survey->expires = null;
         $this->survey->startdate = null;
         $this->survey->template = 'inherit'; //default template from default group is set to 'fruity'
-        $this->survey->admin = 'inherit'; //admin name ...
         $this->survey->active = self::STRING_VALUE_FOR_NO_FALSE;
         $this->survey->anonymized = self::STRING_VALUE_FOR_NO_FALSE;
         $this->survey->faxto = null;
         $this->survey->format = self::STRING_SHORT_VALUE_INHERIT; //inherits value from survey group
         $this->survey->savetimings = self::STRING_SHORT_VALUE_INHERIT; //could also be 'I' for inherit from survey group ...
-        $this->survey->language = $this->simpleSurveyValues->getBaseLanguage();
+        $this->survey->language = $this->simpleSurveyValues->baseLanguage;
         $this->survey->datestamp = self::STRING_SHORT_VALUE_INHERIT;
         $this->survey->ipaddr = self::STRING_SHORT_VALUE_INHERIT;
         $this->survey->ipanonymize = self::STRING_SHORT_VALUE_INHERIT;
@@ -226,7 +225,10 @@ private function initialiseSurveyAttributes()
         $this->survey->assessments = self::STRING_SHORT_VALUE_INHERIT;
         $this->survey->emailresponseto = 'inherit';
         $this->survey->tokenlength = self::INTEGER_VALUE_FOR_INHERIT;
-        $this->survey->adminemail = 'inherit';
         $this->survey->bounce_email = 'inherit';
+        if ($overrideAdministrator) {
+            $this->survey->admin = $this->simpleSurveyValues->admin; //admin name ...
+            $this->survey->adminemail = $this->simpleSurveyValues->adminEmail;
+        }
     }
 }
diff --git a/application/views/questionAdministration/summary.php b/application/views/questionAdministration/summary.php
index 66f481b0e33..b04e26f78fe 100644
--- a/application/views/questionAdministration/summary.php
+++ b/application/views/questionAdministration/summary.php
@@ -173,12 +173,12 @@
             
         
 
-        
+        
         relevance) != ''): ?>
             
                 
                     
-                    :
+                    
                     
                 
                 
diff --git a/application/views/surveyAdministration/tabCreate_view.php b/application/views/surveyAdministration/tabCreate_view.php
index 44bcb2a525e..f498c573b06 100755
--- a/application/views/surveyAdministration/tabCreate_view.php
+++ b/application/views/surveyAdministration/tabCreate_view.php
@@ -98,6 +98,37 @@
                                 
                             
                         
+                        
+
+ +
+ widget('yiiwheels.widgets.buttongroup.WhButtonGroup', array( + 'name' => 'administrator', + 'value'=> 'default', + 'selectOptions' => isset($optionsAdmin) ? $optionsAdmin : [], + ));?> +
+
+ +
diff --git a/assets/packages/adminsidepanel/build.min/css/adminsidepanel.css b/assets/packages/adminsidepanel/build.min/css/adminsidepanel.css index e0dce2cdfe1..e33c824222a 100644 --- a/assets/packages/adminsidepanel/build.min/css/adminsidepanel.css +++ b/assets/packages/adminsidepanel/build.min/css/adminsidepanel.css @@ -1 +1 @@ -.scoped-bottom-bar{align-self:flex-end}.scoped-toolbuttons-left{-webkit-box-flex:3;flex:3 0 auto;align-self:flex-start}.scoped-toolbuttons-left .btn{-webkit-box-flex:1;flex:1}.scoped-toolbuttons-right{-webkit-box-flex:2;flex:2 1 auto;align-self:flex-end;white-space:nowrap}.scoped-toolbuttons-right .btn{float:right}.list-group-item.question-question-list-item .editIcon{margin:10px 10px 10px 5px}.display-as-container{display:block}#questionexplorer{overflow:auto}.loader-adminpanel.loader-quickmenu .contain-pulse{width:2em}.sidebar_loader[data-v-3269e70e]{height:100%;position:absolute;width:100%;background:hsla(0,0%,90.6%,.3);z-index:4501;box-shadow:8px 0 15px hsla(0,0%,90.6%,.3);top:0}.scoped-placeholder-greyed-area[data-v-3269e70e]{display:none}@media (max-width:768px){.scoped-hide-on-small[data-v-3269e70e]{position:fixed;top:49px;left:-96vw;width:100vw;height:95vh;z-index:10}.scoped-hide-on-small.toggled[data-v-3269e70e]{left:0}.scoped-hide-on-small .mainContentContainer[data-v-3269e70e]{max-width:80vw;background:#fff}#sidebar .resize-handle>button[data-v-3269e70e]{width:20px;background:var(--LS-admintheme-basecolor)}.scoped-placeholder-greyed-area[data-v-3269e70e]{display:block;background:hsla(0,0%,49%,.2);height:100%;width:20vw}}.loader--loaderWidget[data-v-d2d9edba]{position:absolute;top:0;left:0;width:100%;height:100%}.loader-adminpanel .contain-pulse .square[data-v-d2d9edba]{display:block}#sidebar{padding-top:15px;width:100%}#sidebar .questiongroup-list-group>li.selected{opacity:.9}#sidebar .questiongroup-list-group>li.selected.activated{opacity:1}#sidebar .tabbutton.btn-primary{outline:none}#sidebar .tabbutton.btn-primary:after{position:absolute;left:43%;bottom:-12px;font:normal normal normal 14px/1 FontAwesome;font-size:28px;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\F078"}#sidebar .overflow-auto{overflow-x:hidden;overflow-y:auto}#sidebar .resize-handle{position:absolute;right:14px;top:0;bottom:0;height:100%;width:4px;cursor:col-resize}#sidebar .resize-handle button{outline:0;cursor:col-resize;width:100%;height:100%;text-align:left;border-radius:0;padding:0 7px 0 4px}#sidebar .resize-handle button:active,#sidebar .resize-handle button:focus,#sidebar .resize-handle button:hover{outline:0!important}#sidebar .resize-handle button i{font-size:12px;width:5px}#sidebar .transition-animate-width{-webkit-transition:all .5s ease;transition:all .5s ease}#sidebar div[class*=" col-"].nofloat,#sidebar div[class^=col-].nofloat{float:none}#sidebar .button-sub-bar{min-height:32px}#sidebar.fill-height,#sidebar .fill-height{height:100%}#sidebar .dragPointer{cursor:move}#sidebar .dragPointer.disabled{color:#999;cursor:not-allowed}#sidebar .question-question-list .question-question-list-item{padding:0}#sidebar .question-question-list .question-question-list-item .question-question-list-item-drag{margin:10px 15px}#sidebar .question-question-list .question-question-list-item.selected{padding-left:20px}#sidebar .question-question-list .question-question-list-item.selected .question-question-list-item-drag{margin:10px 10px 10px 5px}#sidebar .question-question-list .question-question-list-item .question-question-list-item-link{padding:10px 25px 10px 10px;display:-webkit-inline-box;display:inline-flex;flex-wrap:wrap}#sidebar .question_text_ellipsize{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-left:2px}.bigIcons{font-size:18px;line-height:21px;height:24px}.quickmenuIcon{font-size:"28px"}.ls-ba .list-group{-webkit-padding-start:0;padding-inline-start:0}.fade-enter-active{-webkit-transition:all .8s ease;transition:all .8s ease}.fade-leave-active{-webkit-transition:all .1s cubic-bezier(1,.5,.8,1);transition:all .1s cubic-bezier(1,.5,.8,1)}.fade-enter,.fade-leave-to{-webkit-transform:translateY(10px);transform:translateY(10px);opacity:0}.slide-fade-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-leave-active{-webkit-transition:all .2s cubic-bezier(1,.5,.8,1);transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter,.slide-fade-leave-to{-webkit-transform:rotateY(90);transform:rotateY(90);-webkit-transform-origin:left;transform-origin:left;opacity:0}.slide-fade-down-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-down-leave-active{-webkit-transition:all .2s cubic-bezier(0,1,.5,1);transition:all .2s cubic-bezier(0,1,.5,1)}.slide-fade-down-enter,.slide-fade-down-leave-to{-webkit-transform:rotateY(45);transform:rotateY(45);-webkit-transform-origin:left;transform-origin:left;opacity:0}#pjax-content .side-body{min-height:0}.menubar{position:relative}.menubar.surveybar{width:100%;margin:8px auto;z-index:100}#side-menu-container{width:20%}.nooverflow{overflow:hidden}.overflow-enabled{overflow:auto}.side-body{min-height:400px}footer.footer{position:static}ol.breadcrumb.title-bar-breadcrumb{margin-bottom:0}ol.breadcrumb.title-bar-breadcrumb>:first-child a.animate:after{margin-left:0}ol.breadcrumb.title-bar-breadcrumb a{text-decoration:none;line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb a.animate:after{text-align:right;content:"";display:block;width:0;height:2px}ol.breadcrumb.title-bar-breadcrumb a.animate:hover:after{width:100%}ol.breadcrumb.title-bar-breadcrumb a.animate.home-icon:hover:after{margin-left:0;width:100%!important}ol.breadcrumb.title-bar-breadcrumb li{line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb li.active{font-style:italic}ol.breadcrumb.title-bar-breadcrumb li>div{display:inline-block}ol.breadcrumb.title-bar-breadcrumb .menu-label{width:100%;display:block;font-size:85%;font-style:normal}.breadcrumb-title{line-height:24px;font-size:18px;padding:8px 15px}#pjax-file-load-container{height:6px;position:fixed;top:1px;left:0;width:100%;width:100vw}#pjax-file-load-container>div{display:none;height:8px;border-radius:1px}#pjaxClickInhibitor{position:fixed;left:0;top:0;z-index:9999999;width:100%;width:100vw;height:100%;height:100vh;background:hsla(0,0%,98%,.4);cursor:progress}.makeDisabledInputsTransparent input:disabled{color:transparent}.btn-group .btn input[type=checkbox],.btn-group .btn input[type=radio]{outline:none;margin:0;padding:0;border:0}.btn-group .btn input[type=checkbox]:after,.btn-group .btn input[type=checkbox]:before,.btn-group .btn input[type=radio]:after,.btn-group .btn input[type=radio]:before{display:none}.blocker-loading{display:block;height:96%;width:96%;top:3%;left:3%;box-shadow:0 0 3% hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.3);z-index:9997;position:fixed}.blocker-loading,.blocker-loading .blocker-loading-container{-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.blocker-loading .blocker-loading-container{display:-webkit-box;display:flex;height:100%;width:100%}.blocker-loading .blocker-loading-container .loading-icon-fa{display:-webkit-box;display:flex;z-index:9999;font-size:13rem}@media (max-width:768px){.navbar-header,.simpleWrapper{background:#fff}.simpleWrapper{position:absolute;left:0;width:20px!important}#sidebar{width:99vw;padding-right:10px}#vue-apps-main-container,.surveymanagerbar,footer.footer{margin-left:22px}}.ls-flex,.ls-flex-column,.ls-flex-row{display:-moz-flex;display:-webkit-box;display:flex}.align-items-center.ls-flex-column,.align-items-center.ls-flex-row,.ls-flex.align-items-center{-ms-align-items:center;-moz-align-items:center;-webkit-box-align:center;align-items:center}.align-items-flex-start.ls-flex-column,.align-items-flex-start.ls-flex-row,.ls-flex.align-items-flex-start{-ms-align-items:flex-start;-moz-align-items:flex-start;-webkit-box-align:start;align-items:flex-start}.align-items-flex-end.ls-flex-column,.align-items-flex-end.ls-flex-row,.ls-flex.align-items-flex-end{-ms-align-items:flex-end;-moz-align-items:flex-end;-webkit-box-align:end;align-items:flex-end}.align-items-baseline.ls-flex-column,.align-items-baseline.ls-flex-row,.ls-flex.align-items-baseline{-ms-align-items:baseline;-moz-align-items:baseline;-webkit-box-align:baseline;align-items:baseline}.align-items-stretch.ls-flex-column,.align-items-stretch.ls-flex-row,.ls-flex.align-items-stretch{-ms-align-items:stretch;-moz-align-items:stretch;-webkit-box-align:stretch;align-items:stretch}.align-content-center.ls-flex-column,.align-content-center.ls-flex-row,.ls-flex.align-content-center{-ms-justify-content:center;-moz-justify-content:center;-webkit-box-pack:center;justify-content:center}.align-content-flex-start.ls-flex-column,.align-content-flex-start.ls-flex-row,.ls-flex.align-content-flex-start{-ms-justify-content:flex-start;-moz-justify-content:flex-start;-webkit-box-pack:start;justify-content:flex-start}.align-content-flex-end.ls-flex-column,.align-content-flex-end.ls-flex-row,.ls-flex.align-content-flex-end{-ms-justify-content:flex-end;-moz-justify-content:flex-end;-webkit-box-pack:end;justify-content:flex-end}.align-content-space-between.ls-flex-column,.align-content-space-between.ls-flex-row,.ls-flex.align-content-space-between{-ms-justify-content:space-between;-moz-justify-content:space-between;-webkit-box-pack:justify;justify-content:space-between}.align-content-space-around.ls-flex-column,.align-content-space-around.ls-flex-row,.ls-flex.align-content-space-around{-ms-justify-content:space-around;-moz-justify-content:space-around;justify-content:space-around}.ls-flex.wrap,.wrap.ls-flex-column,.wrap.ls-flex-row{flex-wrap:wrap}.ls-flex-column .grow-1,.ls-flex-row .grow-1,.ls-flex .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-column .shrink-1,.ls-flex-row .shrink-1,.ls-flex .shrink-1{flex-shrink:1}.ls-flex-column .col-1,.ls-flex-row .col-1,.ls-flex .col-1{width:8.33333%}.ls-flex-column .grow-2,.ls-flex-row .grow-2,.ls-flex .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-column .shrink-2,.ls-flex-row .shrink-2,.ls-flex .shrink-2{flex-shrink:2}.ls-flex-column .col-2,.ls-flex-row .col-2,.ls-flex .col-2{width:16.66667%}.ls-flex-column .grow-3,.ls-flex-row .grow-3,.ls-flex .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-column .shrink-3,.ls-flex-row .shrink-3,.ls-flex .shrink-3{flex-shrink:3}.ls-flex-column .col-3,.ls-flex-row .col-3,.ls-flex .col-3{width:25%}.ls-flex-column .grow-4,.ls-flex-row .grow-4,.ls-flex .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-column .shrink-4,.ls-flex-row .shrink-4,.ls-flex .shrink-4{flex-shrink:4}.ls-flex-column .col-4,.ls-flex-row .col-4,.ls-flex .col-4{width:33.33333%}.ls-flex-column .grow-5,.ls-flex-row .grow-5,.ls-flex .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-column .shrink-5,.ls-flex-row .shrink-5,.ls-flex .shrink-5{flex-shrink:5}.ls-flex-column .col-5,.ls-flex-row .col-5,.ls-flex .col-5{width:41.66667%}.ls-flex-column .grow-6,.ls-flex-row .grow-6,.ls-flex .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-column .shrink-6,.ls-flex-row .shrink-6,.ls-flex .shrink-6{flex-shrink:6}.ls-flex-column .col-6,.ls-flex-row .col-6,.ls-flex .col-6{width:50%}.ls-flex-column .grow-7,.ls-flex-row .grow-7,.ls-flex .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-column .shrink-7,.ls-flex-row .shrink-7,.ls-flex .shrink-7{flex-shrink:7}.ls-flex-column .col-7,.ls-flex-row .col-7,.ls-flex .col-7{width:58.33333%}.ls-flex-column .grow-8,.ls-flex-row .grow-8,.ls-flex .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-column .shrink-8,.ls-flex-row .shrink-8,.ls-flex .shrink-8{flex-shrink:8}.ls-flex-column .col-8,.ls-flex-row .col-8,.ls-flex .col-8{width:66.66667%}.ls-flex-column .grow-9,.ls-flex-row .grow-9,.ls-flex .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-column .shrink-9,.ls-flex-row .shrink-9,.ls-flex .shrink-9{flex-shrink:9}.ls-flex-column .col-9,.ls-flex-row .col-9,.ls-flex .col-9{width:75%}.ls-flex-column .grow-10,.ls-flex-row .grow-10,.ls-flex .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-column .shrink-10,.ls-flex-row .shrink-10,.ls-flex .shrink-10{flex-shrink:10}.ls-flex-column .col-10,.ls-flex-row .col-10,.ls-flex .col-10{width:83.33333%}.ls-flex-column .grow-11,.ls-flex-row .grow-11,.ls-flex .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-column .shrink-11,.ls-flex-row .shrink-11,.ls-flex .shrink-11{flex-shrink:11}.ls-flex-column .col-11,.ls-flex-row .col-11,.ls-flex .col-11{width:91.66667%}.ls-flex-column .grow-12,.ls-flex-row .grow-12,.ls-flex .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-column .shrink-12,.ls-flex-row .shrink-12,.ls-flex .shrink-12{flex-shrink:12}.ls-flex-column .col-12,.ls-flex-row .col-12,.ls-flex .col-12{width:100%}.ls-flex-item{-webkit-box-flex:1;flex:1}.ls-flex-item .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-item .col-1{width:8.33333%}.ls-flex-item .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-item .col-2{width:16.66667%}.ls-flex-item .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-item .col-3{width:25%}.ls-flex-item .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-item .col-4{width:33.33333%}.ls-flex-item .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-item .col-5{width:41.66667%}.ls-flex-item .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-item .col-6{width:50%}.ls-flex-item .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-item .col-7{width:58.33333%}.ls-flex-item .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-item .col-8{width:66.66667%}.ls-flex-item .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-item .col-9{width:75%}.ls-flex-item .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-item .col-10{width:83.33333%}.ls-flex-item .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-item .col-11{width:91.66667%}.ls-flex-item .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-item .col-12{width:100%}.ls-flex-row{-moz-flex-direction:row;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.ls-flex-column{-moz-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.ls-flex-column.fill{height:100%}.ls-space.margin.left-0{margin-left:0}.ls-space.margin.right-0{margin-right:0}.ls-space.margin.top-0{margin-top:0}.ls-space.margin.bottom-0{margin-bottom:0}.ls-space.margin.all-0{margin:0}.ls-space.margin.left-5{margin-left:5px}.ls-space.margin.right-5{margin-right:5px}.ls-space.margin.top-5{margin-top:5px}.ls-space.margin.bottom-5{margin-bottom:5px}.ls-space.margin.all-5{margin:5px}.ls-space.margin.left-10{margin-left:10px}.ls-space.margin.right-10{margin-right:10px}.ls-space.margin.top-10{margin-top:10px}.ls-space.margin.bottom-10{margin-bottom:10px}.ls-space.margin.all-10{margin:10px}.ls-space.margin.left-15{margin-left:15px}.ls-space.margin.right-15{margin-right:15px}.ls-space.margin.top-15{margin-top:15px}.ls-space.margin.bottom-15{margin-bottom:15px}.ls-space.margin.all-15{margin:15px}.ls-space.margin.left-25{margin-left:25px}.ls-space.margin.right-25{margin-right:25px}.ls-space.margin.top-25{margin-top:25px}.ls-space.margin.bottom-25{margin-bottom:25px}.ls-space.margin.all-25{margin:25px}.ls-space.margin.left-30{margin-left:30px}.ls-space.margin.right-30{margin-right:30px}.ls-space.margin.top-30{margin-top:30px}.ls-space.margin.bottom-30{margin-bottom:30px}.ls-space.margin.all-30{margin:30px}.ls-space.margin.left-35{margin-left:35px}.ls-space.margin.right-35{margin-right:35px}.ls-space.margin.top-35{margin-top:35px}.ls-space.margin.bottom-35{margin-bottom:35px}.ls-space.margin.all-35{margin:35px}.ls-space.margin.left-40{margin-left:40px}.ls-space.margin.right-40{margin-right:40px}.ls-space.margin.top-40{margin-top:40px}.ls-space.margin.bottom-40{margin-bottom:40px}.ls-space.margin.all-40{margin:40px}.ls-space.margin.left-45{margin-left:45px}.ls-space.margin.right-45{margin-right:45px}.ls-space.margin.top-45{margin-top:45px}.ls-space.margin.bottom-45{margin-bottom:45px}.ls-space.margin.all-45{margin:45px}.ls-space.margin.left-50{margin-left:50px}.ls-space.margin.right-50{margin-right:50px}.ls-space.margin.top-50{margin-top:50px}.ls-space.margin.bottom-50{margin-bottom:50px}.ls-space.margin.all-50{margin:50px}.ls-space.padding.left-0{padding-left:0}.ls-space.padding.right-0{padding-right:0}.ls-space.padding.top-0{padding-top:0}.ls-space.padding.bottom-0{padding-bottom:0}.ls-space.padding.all-0{padding:0}.ls-space.padding.left-5{padding-left:5px}.ls-space.padding.right-5{padding-right:5px}.ls-space.padding.top-5{padding-top:5px}.ls-space.padding.bottom-5{padding-bottom:5px}.ls-space.padding.all-5{padding:5px}.ls-space.padding.left-10{padding-left:10px}.ls-space.padding.right-10{padding-right:10px}.ls-space.padding.top-10{padding-top:10px}.ls-space.padding.bottom-10{padding-bottom:10px}.ls-space.padding.all-10{padding:10px}.ls-space.padding.left-15{padding-left:15px}.ls-space.padding.right-15{padding-right:15px}.ls-space.padding.top-15{padding-top:15px}.ls-space.padding.bottom-15{padding-bottom:15px}.ls-space.padding.all-15{padding:15px}.ls-space.padding.left-25{padding-left:25px}.ls-space.padding.right-25{padding-right:25px}.ls-space.padding.top-25{padding-top:25px}.ls-space.padding.bottom-25{padding-bottom:25px}.ls-space.padding.all-25{padding:25px}.ls-space.padding.left-30{padding-left:30px}.ls-space.padding.right-30{padding-right:30px}.ls-space.padding.top-30{padding-top:30px}.ls-space.padding.bottom-30{padding-bottom:30px}.ls-space.padding.all-30{padding:30px}.ls-space.padding.left-35{padding-left:35px}.ls-space.padding.right-35{padding-right:35px}.ls-space.padding.top-35{padding-top:35px}.ls-space.padding.bottom-35{padding-bottom:35px}.ls-space.padding.all-35{padding:35px}.ls-space.padding.left-40{padding-left:40px}.ls-space.padding.right-40{padding-right:40px}.ls-space.padding.top-40{padding-top:40px}.ls-space.padding.bottom-40{padding-bottom:40px}.ls-space.padding.all-40{padding:40px}.ls-space.padding.left-45{padding-left:45px}.ls-space.padding.right-45{padding-right:45px}.ls-space.padding.top-45{padding-top:45px}.ls-space.padding.bottom-45{padding-bottom:45px}.ls-space.padding.all-45{padding:45px}.ls-space.padding.left-50{padding-left:50px}.ls-space.padding.right-50{padding-right:50px}.ls-space.padding.top-50{padding-top:50px}.ls-space.padding.bottom-50{padding-bottom:50px}.ls-space.padding.all-50{padding:50px}.ls-ba .list-group,.ls-ba .list-group>.list-group-item{padding-right:0}.ls-ba .list-group>.list-group-item .list-group{margin-bottom:0}.ls-ba .list-group>.list-group-item .list-group .list-group-item:last-of-type{border-bottom:1px solid #dadada;margin-bottom:10px}.ls-ba .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"\F061";font:normal normal normal 18px/1 FontAwesome}.ls-ba .pager li>a,.ls-ba .pager li>span{border-radius:4px;margin:1px}div[class*=" col-"].nofloat,div[class^=col-].nofloat{float:none} \ No newline at end of file +.scoped-bottom-bar{align-self:flex-end}.scoped-toolbuttons-left{-webkit-box-flex:3;flex:3 0 auto;align-self:flex-start}.scoped-toolbuttons-left .btn{-webkit-box-flex:1;flex:1}.scoped-toolbuttons-right{-webkit-box-flex:2;flex:2 1 auto;align-self:flex-end;white-space:nowrap}.scoped-toolbuttons-right .btn{float:right}.list-group-item.question-question-list-item .editIcon{margin:10px 10px 10px 5px}.display-as-container{display:block}#questionexplorer{overflow:auto}.loader-adminpanel.loader-quickmenu .contain-pulse{width:2em}.sidebar_loader[data-v-63dc88f2]{height:100%;position:absolute;width:100%;background:hsla(0,0%,90.6%,.3);z-index:4501;box-shadow:8px 0 15px hsla(0,0%,90.6%,.3);top:0}.scoped-placeholder-greyed-area[data-v-63dc88f2]{display:none}@media (max-width:768px){.scoped-hide-on-small[data-v-63dc88f2]{position:fixed;top:49px;left:-96vw;width:100vw;height:95vh;z-index:10}.scoped-hide-on-small.toggled[data-v-63dc88f2]{left:0}.scoped-hide-on-small .mainContentContainer[data-v-63dc88f2]{max-width:80vw;background:#fff}#sidebar .resize-handle>button[data-v-63dc88f2]{width:20px;background:var(--LS-admintheme-basecolor)}.scoped-placeholder-greyed-area[data-v-63dc88f2]{display:block;background:hsla(0,0%,49%,.2);height:100%;width:20vw}}.loader--loaderWidget[data-v-c92ecf4c]{position:absolute;top:0;left:0;width:100%;height:100%}.loader-adminpanel .contain-pulse .square[data-v-c92ecf4c]{display:block}#sidebar{padding-top:15px;width:100%}#sidebar .questiongroup-list-group>li.selected{opacity:.9}#sidebar .questiongroup-list-group>li.selected.activated{opacity:1}#sidebar .tabbutton.btn-primary{outline:none}#sidebar .tabbutton.btn-primary:after{position:absolute;left:43%;bottom:-12px;font:normal normal normal 14px/1 FontAwesome;font-size:28px;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\F078"}#sidebar .overflow-auto{overflow-x:hidden;overflow-y:auto}#sidebar .resize-handle{position:absolute;right:14px;top:0;bottom:0;height:100%;width:4px;cursor:col-resize}#sidebar .resize-handle button{outline:0;cursor:col-resize;width:100%;height:100%;text-align:left;border-radius:0;padding:0 7px 0 4px}#sidebar .resize-handle button:active,#sidebar .resize-handle button:focus,#sidebar .resize-handle button:hover{outline:0!important}#sidebar .resize-handle button i{font-size:12px;width:5px}#sidebar .transition-animate-width{-webkit-transition:all .5s ease;transition:all .5s ease}#sidebar div[class*=" col-"].nofloat,#sidebar div[class^=col-].nofloat{float:none}#sidebar .button-sub-bar{min-height:32px}#sidebar.fill-height,#sidebar .fill-height{height:100%}#sidebar .dragPointer{cursor:move}#sidebar .dragPointer.disabled{color:#999;cursor:not-allowed}#sidebar .question-question-list .question-question-list-item{padding:0}#sidebar .question-question-list .question-question-list-item .question-question-list-item-drag{margin:10px 15px}#sidebar .question-question-list .question-question-list-item.selected{padding-left:20px}#sidebar .question-question-list .question-question-list-item.selected .question-question-list-item-drag{margin:10px 10px 10px 5px}#sidebar .question-question-list .question-question-list-item .question-question-list-item-link{padding:10px 25px 10px 10px;display:-webkit-inline-box;display:inline-flex;flex-wrap:wrap}#sidebar .question_text_ellipsize{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-left:2px}.bigIcons{font-size:18px;line-height:21px;height:24px}.quickmenuIcon{font-size:"28px"}.ls-ba .list-group{-webkit-padding-start:0;padding-inline-start:0}.fade-enter-active{-webkit-transition:all .8s ease;transition:all .8s ease}.fade-leave-active{-webkit-transition:all .1s cubic-bezier(1,.5,.8,1);transition:all .1s cubic-bezier(1,.5,.8,1)}.fade-enter,.fade-leave-to{-webkit-transform:translateY(10px);transform:translateY(10px);opacity:0}.slide-fade-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-leave-active{-webkit-transition:all .2s cubic-bezier(1,.5,.8,1);transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter,.slide-fade-leave-to{-webkit-transform:rotateY(90);transform:rotateY(90);-webkit-transform-origin:left;transform-origin:left;opacity:0}.slide-fade-down-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-down-leave-active{-webkit-transition:all .2s cubic-bezier(0,1,.5,1);transition:all .2s cubic-bezier(0,1,.5,1)}.slide-fade-down-enter,.slide-fade-down-leave-to{-webkit-transform:rotateY(45);transform:rotateY(45);-webkit-transform-origin:left;transform-origin:left;opacity:0}#pjax-content .side-body{min-height:0}.menubar{position:relative}.menubar.surveybar{width:100%;margin:8px auto;z-index:100}#side-menu-container{width:20%}.nooverflow{overflow:hidden}.overflow-enabled{overflow:auto}.side-body{min-height:400px}footer.footer{position:static}ol.breadcrumb.title-bar-breadcrumb{margin-bottom:0}ol.breadcrumb.title-bar-breadcrumb>:first-child a.animate:after{margin-left:0}ol.breadcrumb.title-bar-breadcrumb a{text-decoration:none;line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb a.animate:after{text-align:right;content:"";display:block;width:0;height:2px}ol.breadcrumb.title-bar-breadcrumb a.animate:hover:after{width:100%}ol.breadcrumb.title-bar-breadcrumb a.animate.home-icon:hover:after{margin-left:0;width:100%!important}ol.breadcrumb.title-bar-breadcrumb li{line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb li.active{font-style:italic}ol.breadcrumb.title-bar-breadcrumb li>div{display:inline-block}ol.breadcrumb.title-bar-breadcrumb .menu-label{width:100%;display:block;font-size:85%;font-style:normal}.breadcrumb-title{line-height:24px;font-size:18px;padding:8px 15px}#pjax-file-load-container{height:6px;position:fixed;top:1px;left:0;width:100%;width:100vw}#pjax-file-load-container>div{display:none;height:8px;border-radius:1px}#pjaxClickInhibitor{position:fixed;left:0;top:0;z-index:9999999;width:100%;width:100vw;height:100%;height:100vh;background:hsla(0,0%,98%,.4);cursor:progress}.makeDisabledInputsTransparent input:disabled{color:transparent}.btn-group .btn input[type=checkbox],.btn-group .btn input[type=radio]{outline:none;margin:0;padding:0;border:0}.btn-group .btn input[type=checkbox]:after,.btn-group .btn input[type=checkbox]:before,.btn-group .btn input[type=radio]:after,.btn-group .btn input[type=radio]:before{display:none}.blocker-loading{display:block;height:96%;width:96%;top:3%;left:3%;box-shadow:0 0 3% hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.3);z-index:9997;position:fixed}.blocker-loading,.blocker-loading .blocker-loading-container{-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.blocker-loading .blocker-loading-container{display:-webkit-box;display:flex;height:100%;width:100%}.blocker-loading .blocker-loading-container .loading-icon-fa{display:-webkit-box;display:flex;z-index:9999;font-size:13rem}@media (max-width:768px){.navbar-header,.simpleWrapper{background:#fff}.simpleWrapper{position:absolute;left:0;width:20px!important}#sidebar{width:99vw;padding-right:10px}#vue-apps-main-container,.surveymanagerbar,footer.footer{margin-left:22px}}.ls-flex,.ls-flex-column,.ls-flex-row{display:-moz-flex;display:-webkit-box;display:flex}.align-items-center.ls-flex-column,.align-items-center.ls-flex-row,.ls-flex.align-items-center{-ms-align-items:center;-moz-align-items:center;-webkit-box-align:center;align-items:center}.align-items-flex-start.ls-flex-column,.align-items-flex-start.ls-flex-row,.ls-flex.align-items-flex-start{-ms-align-items:flex-start;-moz-align-items:flex-start;-webkit-box-align:start;align-items:flex-start}.align-items-flex-end.ls-flex-column,.align-items-flex-end.ls-flex-row,.ls-flex.align-items-flex-end{-ms-align-items:flex-end;-moz-align-items:flex-end;-webkit-box-align:end;align-items:flex-end}.align-items-baseline.ls-flex-column,.align-items-baseline.ls-flex-row,.ls-flex.align-items-baseline{-ms-align-items:baseline;-moz-align-items:baseline;-webkit-box-align:baseline;align-items:baseline}.align-items-stretch.ls-flex-column,.align-items-stretch.ls-flex-row,.ls-flex.align-items-stretch{-ms-align-items:stretch;-moz-align-items:stretch;-webkit-box-align:stretch;align-items:stretch}.align-content-center.ls-flex-column,.align-content-center.ls-flex-row,.ls-flex.align-content-center{-ms-justify-content:center;-moz-justify-content:center;-webkit-box-pack:center;justify-content:center}.align-content-flex-start.ls-flex-column,.align-content-flex-start.ls-flex-row,.ls-flex.align-content-flex-start{-ms-justify-content:flex-start;-moz-justify-content:flex-start;-webkit-box-pack:start;justify-content:flex-start}.align-content-flex-end.ls-flex-column,.align-content-flex-end.ls-flex-row,.ls-flex.align-content-flex-end{-ms-justify-content:flex-end;-moz-justify-content:flex-end;-webkit-box-pack:end;justify-content:flex-end}.align-content-space-between.ls-flex-column,.align-content-space-between.ls-flex-row,.ls-flex.align-content-space-between{-ms-justify-content:space-between;-moz-justify-content:space-between;-webkit-box-pack:justify;justify-content:space-between}.align-content-space-around.ls-flex-column,.align-content-space-around.ls-flex-row,.ls-flex.align-content-space-around{-ms-justify-content:space-around;-moz-justify-content:space-around;justify-content:space-around}.ls-flex.wrap,.wrap.ls-flex-column,.wrap.ls-flex-row{flex-wrap:wrap}.ls-flex-column .grow-1,.ls-flex-row .grow-1,.ls-flex .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-column .shrink-1,.ls-flex-row .shrink-1,.ls-flex .shrink-1{flex-shrink:1}.ls-flex-column .col-1,.ls-flex-row .col-1,.ls-flex .col-1{width:8.33333%}.ls-flex-column .grow-2,.ls-flex-row .grow-2,.ls-flex .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-column .shrink-2,.ls-flex-row .shrink-2,.ls-flex .shrink-2{flex-shrink:2}.ls-flex-column .col-2,.ls-flex-row .col-2,.ls-flex .col-2{width:16.66667%}.ls-flex-column .grow-3,.ls-flex-row .grow-3,.ls-flex .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-column .shrink-3,.ls-flex-row .shrink-3,.ls-flex .shrink-3{flex-shrink:3}.ls-flex-column .col-3,.ls-flex-row .col-3,.ls-flex .col-3{width:25%}.ls-flex-column .grow-4,.ls-flex-row .grow-4,.ls-flex .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-column .shrink-4,.ls-flex-row .shrink-4,.ls-flex .shrink-4{flex-shrink:4}.ls-flex-column .col-4,.ls-flex-row .col-4,.ls-flex .col-4{width:33.33333%}.ls-flex-column .grow-5,.ls-flex-row .grow-5,.ls-flex .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-column .shrink-5,.ls-flex-row .shrink-5,.ls-flex .shrink-5{flex-shrink:5}.ls-flex-column .col-5,.ls-flex-row .col-5,.ls-flex .col-5{width:41.66667%}.ls-flex-column .grow-6,.ls-flex-row .grow-6,.ls-flex .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-column .shrink-6,.ls-flex-row .shrink-6,.ls-flex .shrink-6{flex-shrink:6}.ls-flex-column .col-6,.ls-flex-row .col-6,.ls-flex .col-6{width:50%}.ls-flex-column .grow-7,.ls-flex-row .grow-7,.ls-flex .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-column .shrink-7,.ls-flex-row .shrink-7,.ls-flex .shrink-7{flex-shrink:7}.ls-flex-column .col-7,.ls-flex-row .col-7,.ls-flex .col-7{width:58.33333%}.ls-flex-column .grow-8,.ls-flex-row .grow-8,.ls-flex .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-column .shrink-8,.ls-flex-row .shrink-8,.ls-flex .shrink-8{flex-shrink:8}.ls-flex-column .col-8,.ls-flex-row .col-8,.ls-flex .col-8{width:66.66667%}.ls-flex-column .grow-9,.ls-flex-row .grow-9,.ls-flex .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-column .shrink-9,.ls-flex-row .shrink-9,.ls-flex .shrink-9{flex-shrink:9}.ls-flex-column .col-9,.ls-flex-row .col-9,.ls-flex .col-9{width:75%}.ls-flex-column .grow-10,.ls-flex-row .grow-10,.ls-flex .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-column .shrink-10,.ls-flex-row .shrink-10,.ls-flex .shrink-10{flex-shrink:10}.ls-flex-column .col-10,.ls-flex-row .col-10,.ls-flex .col-10{width:83.33333%}.ls-flex-column .grow-11,.ls-flex-row .grow-11,.ls-flex .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-column .shrink-11,.ls-flex-row .shrink-11,.ls-flex .shrink-11{flex-shrink:11}.ls-flex-column .col-11,.ls-flex-row .col-11,.ls-flex .col-11{width:91.66667%}.ls-flex-column .grow-12,.ls-flex-row .grow-12,.ls-flex .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-column .shrink-12,.ls-flex-row .shrink-12,.ls-flex .shrink-12{flex-shrink:12}.ls-flex-column .col-12,.ls-flex-row .col-12,.ls-flex .col-12{width:100%}.ls-flex-item{-webkit-box-flex:1;flex:1}.ls-flex-item .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-item .col-1{width:8.33333%}.ls-flex-item .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-item .col-2{width:16.66667%}.ls-flex-item .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-item .col-3{width:25%}.ls-flex-item .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-item .col-4{width:33.33333%}.ls-flex-item .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-item .col-5{width:41.66667%}.ls-flex-item .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-item .col-6{width:50%}.ls-flex-item .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-item .col-7{width:58.33333%}.ls-flex-item .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-item .col-8{width:66.66667%}.ls-flex-item .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-item .col-9{width:75%}.ls-flex-item .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-item .col-10{width:83.33333%}.ls-flex-item .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-item .col-11{width:91.66667%}.ls-flex-item .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-item .col-12{width:100%}.ls-flex-row{-moz-flex-direction:row;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.ls-flex-column{-moz-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.ls-flex-column.fill{height:100%}.ls-space.margin.left-0{margin-left:0}.ls-space.margin.right-0{margin-right:0}.ls-space.margin.top-0{margin-top:0}.ls-space.margin.bottom-0{margin-bottom:0}.ls-space.margin.all-0{margin:0}.ls-space.margin.left-5{margin-left:5px}.ls-space.margin.right-5{margin-right:5px}.ls-space.margin.top-5{margin-top:5px}.ls-space.margin.bottom-5{margin-bottom:5px}.ls-space.margin.all-5{margin:5px}.ls-space.margin.left-10{margin-left:10px}.ls-space.margin.right-10{margin-right:10px}.ls-space.margin.top-10{margin-top:10px}.ls-space.margin.bottom-10{margin-bottom:10px}.ls-space.margin.all-10{margin:10px}.ls-space.margin.left-15{margin-left:15px}.ls-space.margin.right-15{margin-right:15px}.ls-space.margin.top-15{margin-top:15px}.ls-space.margin.bottom-15{margin-bottom:15px}.ls-space.margin.all-15{margin:15px}.ls-space.margin.left-25{margin-left:25px}.ls-space.margin.right-25{margin-right:25px}.ls-space.margin.top-25{margin-top:25px}.ls-space.margin.bottom-25{margin-bottom:25px}.ls-space.margin.all-25{margin:25px}.ls-space.margin.left-30{margin-left:30px}.ls-space.margin.right-30{margin-right:30px}.ls-space.margin.top-30{margin-top:30px}.ls-space.margin.bottom-30{margin-bottom:30px}.ls-space.margin.all-30{margin:30px}.ls-space.margin.left-35{margin-left:35px}.ls-space.margin.right-35{margin-right:35px}.ls-space.margin.top-35{margin-top:35px}.ls-space.margin.bottom-35{margin-bottom:35px}.ls-space.margin.all-35{margin:35px}.ls-space.margin.left-40{margin-left:40px}.ls-space.margin.right-40{margin-right:40px}.ls-space.margin.top-40{margin-top:40px}.ls-space.margin.bottom-40{margin-bottom:40px}.ls-space.margin.all-40{margin:40px}.ls-space.margin.left-45{margin-left:45px}.ls-space.margin.right-45{margin-right:45px}.ls-space.margin.top-45{margin-top:45px}.ls-space.margin.bottom-45{margin-bottom:45px}.ls-space.margin.all-45{margin:45px}.ls-space.margin.left-50{margin-left:50px}.ls-space.margin.right-50{margin-right:50px}.ls-space.margin.top-50{margin-top:50px}.ls-space.margin.bottom-50{margin-bottom:50px}.ls-space.margin.all-50{margin:50px}.ls-space.padding.left-0{padding-left:0}.ls-space.padding.right-0{padding-right:0}.ls-space.padding.top-0{padding-top:0}.ls-space.padding.bottom-0{padding-bottom:0}.ls-space.padding.all-0{padding:0}.ls-space.padding.left-5{padding-left:5px}.ls-space.padding.right-5{padding-right:5px}.ls-space.padding.top-5{padding-top:5px}.ls-space.padding.bottom-5{padding-bottom:5px}.ls-space.padding.all-5{padding:5px}.ls-space.padding.left-10{padding-left:10px}.ls-space.padding.right-10{padding-right:10px}.ls-space.padding.top-10{padding-top:10px}.ls-space.padding.bottom-10{padding-bottom:10px}.ls-space.padding.all-10{padding:10px}.ls-space.padding.left-15{padding-left:15px}.ls-space.padding.right-15{padding-right:15px}.ls-space.padding.top-15{padding-top:15px}.ls-space.padding.bottom-15{padding-bottom:15px}.ls-space.padding.all-15{padding:15px}.ls-space.padding.left-25{padding-left:25px}.ls-space.padding.right-25{padding-right:25px}.ls-space.padding.top-25{padding-top:25px}.ls-space.padding.bottom-25{padding-bottom:25px}.ls-space.padding.all-25{padding:25px}.ls-space.padding.left-30{padding-left:30px}.ls-space.padding.right-30{padding-right:30px}.ls-space.padding.top-30{padding-top:30px}.ls-space.padding.bottom-30{padding-bottom:30px}.ls-space.padding.all-30{padding:30px}.ls-space.padding.left-35{padding-left:35px}.ls-space.padding.right-35{padding-right:35px}.ls-space.padding.top-35{padding-top:35px}.ls-space.padding.bottom-35{padding-bottom:35px}.ls-space.padding.all-35{padding:35px}.ls-space.padding.left-40{padding-left:40px}.ls-space.padding.right-40{padding-right:40px}.ls-space.padding.top-40{padding-top:40px}.ls-space.padding.bottom-40{padding-bottom:40px}.ls-space.padding.all-40{padding:40px}.ls-space.padding.left-45{padding-left:45px}.ls-space.padding.right-45{padding-right:45px}.ls-space.padding.top-45{padding-top:45px}.ls-space.padding.bottom-45{padding-bottom:45px}.ls-space.padding.all-45{padding:45px}.ls-space.padding.left-50{padding-left:50px}.ls-space.padding.right-50{padding-right:50px}.ls-space.padding.top-50{padding-top:50px}.ls-space.padding.bottom-50{padding-bottom:50px}.ls-space.padding.all-50{padding:50px}.ls-ba .list-group,.ls-ba .list-group>.list-group-item{padding-right:0}.ls-ba .list-group>.list-group-item .list-group{margin-bottom:0}.ls-ba .list-group>.list-group-item .list-group .list-group-item:last-of-type{border-bottom:1px solid #dadada;margin-bottom:10px}.ls-ba .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"\F061";font:normal normal normal 18px/1 FontAwesome}.ls-ba .pager li>a,.ls-ba .pager li>span{border-radius:4px;margin:1px}div[class*=" col-"].nofloat,div[class^=col-].nofloat{float:none} \ No newline at end of file diff --git a/assets/packages/adminsidepanel/build.min/css/adminsidepanel.rtl.css b/assets/packages/adminsidepanel/build.min/css/adminsidepanel.rtl.css index e074ac80069..aeee985b3f3 100644 --- a/assets/packages/adminsidepanel/build.min/css/adminsidepanel.rtl.css +++ b/assets/packages/adminsidepanel/build.min/css/adminsidepanel.rtl.css @@ -1 +1 @@ -.scoped-bottom-bar{align-self:flex-end}.scoped-toolbuttons-left{-webkit-box-flex:3;flex:3 0 auto;align-self:flex-start}.scoped-toolbuttons-left .btn{-webkit-box-flex:1;flex:1}.scoped-toolbuttons-right{-webkit-box-flex:2;flex:2 1 auto;align-self:flex-end;white-space:nowrap}.scoped-toolbuttons-right .btn{float:left}.list-group-item.question-question-list-item .editIcon{margin:10px 5px 10px 10px}.display-as-container{display:block}#questionexplorer{overflow:auto}.loader-adminpanel.loader-quickmenu .contain-pulse{width:2em}.sidebar_loader[data-v-3269e70e]{height:100%;position:absolute;width:100%;background:hsla(0,0%,90.6%,.3);z-index:4501;box-shadow:-8px 0 15px hsla(0,0%,90.6%,.3);top:0}.scoped-placeholder-greyed-area[data-v-3269e70e]{display:none}@media (max-width:768px){.scoped-hide-on-small[data-v-3269e70e]{position:fixed;top:49px;right:-96vw;width:100vw;height:95vh;z-index:10}.scoped-hide-on-small.toggled[data-v-3269e70e]{right:0}.scoped-hide-on-small .mainContentContainer[data-v-3269e70e]{max-width:80vw;background:#fff}#sidebar .resize-handle>button[data-v-3269e70e]{width:20px;background:var(--LS-admintheme-basecolor)}.scoped-placeholder-greyed-area[data-v-3269e70e]{display:block;background:hsla(0,0%,49%,.2);height:100%;width:20vw}}.loader--loaderWidget[data-v-d2d9edba]{position:absolute;top:0;right:0;width:100%;height:100%}.loader-adminpanel .contain-pulse .square[data-v-d2d9edba]{display:block}#sidebar{padding-top:15px;width:100%}#sidebar .questiongroup-list-group>li.selected{opacity:.9}#sidebar .questiongroup-list-group>li.selected.activated{opacity:1}#sidebar .tabbutton.btn-primary{outline:none}#sidebar .tabbutton.btn-primary:after{position:absolute;right:43%;bottom:-12px;font:normal normal normal 14px/1 FontAwesome;font-size:28px;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\F078"}#sidebar .overflow-auto{overflow-x:hidden;overflow-y:auto}#sidebar .resize-handle{position:absolute;left:14px;top:0;bottom:0;height:100%;width:4px;cursor:col-resize}#sidebar .resize-handle button{outline:0;cursor:col-resize;width:100%;height:100%;text-align:right;border-radius:0;padding:0 4px 0 7px}#sidebar .resize-handle button:active,#sidebar .resize-handle button:focus,#sidebar .resize-handle button:hover{outline:0!important}#sidebar .resize-handle button i{font-size:12px;width:5px}#sidebar .transition-animate-width{-webkit-transition:all .5s ease;transition:all .5s ease}#sidebar div[class*=" col-"].nofloat,#sidebar div[class^=col-].nofloat{float:none}#sidebar .button-sub-bar{min-height:32px}#sidebar.fill-height,#sidebar .fill-height{height:100%}#sidebar .dragPointer{cursor:move}#sidebar .dragPointer.disabled{color:#999;cursor:not-allowed}#sidebar .question-question-list .question-question-list-item{padding:0}#sidebar .question-question-list .question-question-list-item .question-question-list-item-drag{margin:10px 15px}#sidebar .question-question-list .question-question-list-item.selected{padding-right:20px}#sidebar .question-question-list .question-question-list-item.selected .question-question-list-item-drag{margin:10px 5px 10px 10px}#sidebar .question-question-list .question-question-list-item .question-question-list-item-link{padding:10px 10px 10px 25px;display:-webkit-inline-box;display:inline-flex;flex-wrap:wrap}#sidebar .question_text_ellipsize{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:2px}.bigIcons{font-size:18px;line-height:21px;height:24px}.quickmenuIcon{font-size:"28px"}.ls-ba .list-group{-webkit-padding-start:0;padding-inline-start:0}.fade-enter-active{-webkit-transition:all .8s ease;transition:all .8s ease}.fade-leave-active{-webkit-transition:all .1s cubic-bezier(1,.5,.8,1);transition:all .1s cubic-bezier(1,.5,.8,1)}.fade-enter,.fade-leave-to{-webkit-transform:translateY(10px);transform:translateY(10px);opacity:0}.slide-fade-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-leave-active{-webkit-transition:all .2s cubic-bezier(1,.5,.8,1);transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter,.slide-fade-leave-to{-webkit-transform:rotateY(90);transform:rotateY(90);-webkit-transform-origin:right;transform-origin:right;opacity:0}.slide-fade-down-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-down-leave-active{-webkit-transition:all .2s cubic-bezier(0,1,.5,1);transition:all .2s cubic-bezier(0,1,.5,1)}.slide-fade-down-enter,.slide-fade-down-leave-to{-webkit-transform:rotateY(45);transform:rotateY(45);-webkit-transform-origin:right;transform-origin:right;opacity:0}#pjax-content .side-body{min-height:0}.menubar{position:relative}.menubar.surveybar{width:100%;margin:8px auto;z-index:100}#side-menu-container{width:20%}.nooverflow{overflow:hidden}.overflow-enabled{overflow:auto}.side-body{min-height:400px}footer.footer{position:static}ol.breadcrumb.title-bar-breadcrumb{margin-bottom:0}ol.breadcrumb.title-bar-breadcrumb>:first-child a.animate:after{margin-right:0}ol.breadcrumb.title-bar-breadcrumb a{text-decoration:none;line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb a.animate:after{text-align:left;content:"";display:block;width:0;height:2px}ol.breadcrumb.title-bar-breadcrumb a.animate:hover:after{width:100%}ol.breadcrumb.title-bar-breadcrumb a.animate.home-icon:hover:after{margin-right:0;width:100%!important}ol.breadcrumb.title-bar-breadcrumb li{line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb li.active{font-style:italic}ol.breadcrumb.title-bar-breadcrumb li>div{display:inline-block}ol.breadcrumb.title-bar-breadcrumb .menu-label{width:100%;display:block;font-size:85%;font-style:normal}.breadcrumb-title{line-height:24px;font-size:18px;padding:8px 15px}#pjax-file-load-container{height:6px;position:fixed;top:1px;right:0;width:100%;width:100vw}#pjax-file-load-container>div{display:none;height:8px;border-radius:1px}#pjaxClickInhibitor{position:fixed;right:0;top:0;z-index:9999999;width:100%;width:100vw;height:100%;height:100vh;background:hsla(0,0%,98%,.4);cursor:progress}.makeDisabledInputsTransparent input:disabled{color:transparent}.btn-group .btn input[type=checkbox],.btn-group .btn input[type=radio]{outline:none;margin:0;padding:0;border:0}.btn-group .btn input[type=checkbox]:after,.btn-group .btn input[type=checkbox]:before,.btn-group .btn input[type=radio]:after,.btn-group .btn input[type=radio]:before{display:none}.blocker-loading{display:block;height:96%;width:96%;top:3%;right:3%;box-shadow:0 0 3% hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.3);z-index:9997;position:fixed}.blocker-loading,.blocker-loading .blocker-loading-container{-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.blocker-loading .blocker-loading-container{display:-webkit-box;display:flex;height:100%;width:100%}.blocker-loading .blocker-loading-container .loading-icon-fa{display:-webkit-box;display:flex;z-index:9999;font-size:13rem}@media (max-width:768px){.navbar-header,.simpleWrapper{background:#fff}.simpleWrapper{position:absolute;right:0;width:20px!important}#sidebar{width:99vw;padding-left:10px}#vue-apps-main-container,.surveymanagerbar,footer.footer{margin-right:22px}}.ls-flex,.ls-flex-column,.ls-flex-row{display:-moz-flex;display:-webkit-box;display:flex}.align-items-center.ls-flex-column,.align-items-center.ls-flex-row,.ls-flex.align-items-center{-ms-align-items:center;-moz-align-items:center;-webkit-box-align:center;align-items:center}.align-items-flex-start.ls-flex-column,.align-items-flex-start.ls-flex-row,.ls-flex.align-items-flex-start{-ms-align-items:flex-start;-moz-align-items:flex-start;-webkit-box-align:start;align-items:flex-start}.align-items-flex-end.ls-flex-column,.align-items-flex-end.ls-flex-row,.ls-flex.align-items-flex-end{-ms-align-items:flex-end;-moz-align-items:flex-end;-webkit-box-align:end;align-items:flex-end}.align-items-baseline.ls-flex-column,.align-items-baseline.ls-flex-row,.ls-flex.align-items-baseline{-ms-align-items:baseline;-moz-align-items:baseline;-webkit-box-align:baseline;align-items:baseline}.align-items-stretch.ls-flex-column,.align-items-stretch.ls-flex-row,.ls-flex.align-items-stretch{-ms-align-items:stretch;-moz-align-items:stretch;-webkit-box-align:stretch;align-items:stretch}.align-content-center.ls-flex-column,.align-content-center.ls-flex-row,.ls-flex.align-content-center{-ms-justify-content:center;-moz-justify-content:center;-webkit-box-pack:center;justify-content:center}.align-content-flex-start.ls-flex-column,.align-content-flex-start.ls-flex-row,.ls-flex.align-content-flex-start{-ms-justify-content:flex-start;-moz-justify-content:flex-start;-webkit-box-pack:start;justify-content:flex-start}.align-content-flex-end.ls-flex-column,.align-content-flex-end.ls-flex-row,.ls-flex.align-content-flex-end{-ms-justify-content:flex-end;-moz-justify-content:flex-end;-webkit-box-pack:end;justify-content:flex-end}.align-content-space-between.ls-flex-column,.align-content-space-between.ls-flex-row,.ls-flex.align-content-space-between{-ms-justify-content:space-between;-moz-justify-content:space-between;-webkit-box-pack:justify;justify-content:space-between}.align-content-space-around.ls-flex-column,.align-content-space-around.ls-flex-row,.ls-flex.align-content-space-around{-ms-justify-content:space-around;-moz-justify-content:space-around;justify-content:space-around}.ls-flex.wrap,.wrap.ls-flex-column,.wrap.ls-flex-row{flex-wrap:wrap}.ls-flex-column .grow-1,.ls-flex-row .grow-1,.ls-flex .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-column .shrink-1,.ls-flex-row .shrink-1,.ls-flex .shrink-1{flex-shrink:1}.ls-flex-column .col-1,.ls-flex-row .col-1,.ls-flex .col-1{width:8.33333%}.ls-flex-column .grow-2,.ls-flex-row .grow-2,.ls-flex .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-column .shrink-2,.ls-flex-row .shrink-2,.ls-flex .shrink-2{flex-shrink:2}.ls-flex-column .col-2,.ls-flex-row .col-2,.ls-flex .col-2{width:16.66667%}.ls-flex-column .grow-3,.ls-flex-row .grow-3,.ls-flex .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-column .shrink-3,.ls-flex-row .shrink-3,.ls-flex .shrink-3{flex-shrink:3}.ls-flex-column .col-3,.ls-flex-row .col-3,.ls-flex .col-3{width:25%}.ls-flex-column .grow-4,.ls-flex-row .grow-4,.ls-flex .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-column .shrink-4,.ls-flex-row .shrink-4,.ls-flex .shrink-4{flex-shrink:4}.ls-flex-column .col-4,.ls-flex-row .col-4,.ls-flex .col-4{width:33.33333%}.ls-flex-column .grow-5,.ls-flex-row .grow-5,.ls-flex .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-column .shrink-5,.ls-flex-row .shrink-5,.ls-flex .shrink-5{flex-shrink:5}.ls-flex-column .col-5,.ls-flex-row .col-5,.ls-flex .col-5{width:41.66667%}.ls-flex-column .grow-6,.ls-flex-row .grow-6,.ls-flex .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-column .shrink-6,.ls-flex-row .shrink-6,.ls-flex .shrink-6{flex-shrink:6}.ls-flex-column .col-6,.ls-flex-row .col-6,.ls-flex .col-6{width:50%}.ls-flex-column .grow-7,.ls-flex-row .grow-7,.ls-flex .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-column .shrink-7,.ls-flex-row .shrink-7,.ls-flex .shrink-7{flex-shrink:7}.ls-flex-column .col-7,.ls-flex-row .col-7,.ls-flex .col-7{width:58.33333%}.ls-flex-column .grow-8,.ls-flex-row .grow-8,.ls-flex .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-column .shrink-8,.ls-flex-row .shrink-8,.ls-flex .shrink-8{flex-shrink:8}.ls-flex-column .col-8,.ls-flex-row .col-8,.ls-flex .col-8{width:66.66667%}.ls-flex-column .grow-9,.ls-flex-row .grow-9,.ls-flex .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-column .shrink-9,.ls-flex-row .shrink-9,.ls-flex .shrink-9{flex-shrink:9}.ls-flex-column .col-9,.ls-flex-row .col-9,.ls-flex .col-9{width:75%}.ls-flex-column .grow-10,.ls-flex-row .grow-10,.ls-flex .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-column .shrink-10,.ls-flex-row .shrink-10,.ls-flex .shrink-10{flex-shrink:10}.ls-flex-column .col-10,.ls-flex-row .col-10,.ls-flex .col-10{width:83.33333%}.ls-flex-column .grow-11,.ls-flex-row .grow-11,.ls-flex .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-column .shrink-11,.ls-flex-row .shrink-11,.ls-flex .shrink-11{flex-shrink:11}.ls-flex-column .col-11,.ls-flex-row .col-11,.ls-flex .col-11{width:91.66667%}.ls-flex-column .grow-12,.ls-flex-row .grow-12,.ls-flex .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-column .shrink-12,.ls-flex-row .shrink-12,.ls-flex .shrink-12{flex-shrink:12}.ls-flex-column .col-12,.ls-flex-row .col-12,.ls-flex .col-12{width:100%}.ls-flex-item{-webkit-box-flex:1;flex:1}.ls-flex-item .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-item .col-1{width:8.33333%}.ls-flex-item .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-item .col-2{width:16.66667%}.ls-flex-item .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-item .col-3{width:25%}.ls-flex-item .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-item .col-4{width:33.33333%}.ls-flex-item .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-item .col-5{width:41.66667%}.ls-flex-item .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-item .col-6{width:50%}.ls-flex-item .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-item .col-7{width:58.33333%}.ls-flex-item .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-item .col-8{width:66.66667%}.ls-flex-item .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-item .col-9{width:75%}.ls-flex-item .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-item .col-10{width:83.33333%}.ls-flex-item .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-item .col-11{width:91.66667%}.ls-flex-item .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-item .col-12{width:100%}.ls-flex-row{-moz-flex-direction:row;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.ls-flex-column{-moz-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.ls-flex-column.fill{height:100%}.ls-space.margin.left-0{margin-right:0}.ls-space.margin.right-0{margin-left:0}.ls-space.margin.top-0{margin-top:0}.ls-space.margin.bottom-0{margin-bottom:0}.ls-space.margin.all-0{margin:0}.ls-space.margin.left-5{margin-right:5px}.ls-space.margin.right-5{margin-left:5px}.ls-space.margin.top-5{margin-top:5px}.ls-space.margin.bottom-5{margin-bottom:5px}.ls-space.margin.all-5{margin:5px}.ls-space.margin.left-10{margin-right:10px}.ls-space.margin.right-10{margin-left:10px}.ls-space.margin.top-10{margin-top:10px}.ls-space.margin.bottom-10{margin-bottom:10px}.ls-space.margin.all-10{margin:10px}.ls-space.margin.left-15{margin-right:15px}.ls-space.margin.right-15{margin-left:15px}.ls-space.margin.top-15{margin-top:15px}.ls-space.margin.bottom-15{margin-bottom:15px}.ls-space.margin.all-15{margin:15px}.ls-space.margin.left-25{margin-right:25px}.ls-space.margin.right-25{margin-left:25px}.ls-space.margin.top-25{margin-top:25px}.ls-space.margin.bottom-25{margin-bottom:25px}.ls-space.margin.all-25{margin:25px}.ls-space.margin.left-30{margin-right:30px}.ls-space.margin.right-30{margin-left:30px}.ls-space.margin.top-30{margin-top:30px}.ls-space.margin.bottom-30{margin-bottom:30px}.ls-space.margin.all-30{margin:30px}.ls-space.margin.left-35{margin-right:35px}.ls-space.margin.right-35{margin-left:35px}.ls-space.margin.top-35{margin-top:35px}.ls-space.margin.bottom-35{margin-bottom:35px}.ls-space.margin.all-35{margin:35px}.ls-space.margin.left-40{margin-right:40px}.ls-space.margin.right-40{margin-left:40px}.ls-space.margin.top-40{margin-top:40px}.ls-space.margin.bottom-40{margin-bottom:40px}.ls-space.margin.all-40{margin:40px}.ls-space.margin.left-45{margin-right:45px}.ls-space.margin.right-45{margin-left:45px}.ls-space.margin.top-45{margin-top:45px}.ls-space.margin.bottom-45{margin-bottom:45px}.ls-space.margin.all-45{margin:45px}.ls-space.margin.left-50{margin-right:50px}.ls-space.margin.right-50{margin-left:50px}.ls-space.margin.top-50{margin-top:50px}.ls-space.margin.bottom-50{margin-bottom:50px}.ls-space.margin.all-50{margin:50px}.ls-space.padding.left-0{padding-right:0}.ls-space.padding.right-0{padding-left:0}.ls-space.padding.top-0{padding-top:0}.ls-space.padding.bottom-0{padding-bottom:0}.ls-space.padding.all-0{padding:0}.ls-space.padding.left-5{padding-right:5px}.ls-space.padding.right-5{padding-left:5px}.ls-space.padding.top-5{padding-top:5px}.ls-space.padding.bottom-5{padding-bottom:5px}.ls-space.padding.all-5{padding:5px}.ls-space.padding.left-10{padding-right:10px}.ls-space.padding.right-10{padding-left:10px}.ls-space.padding.top-10{padding-top:10px}.ls-space.padding.bottom-10{padding-bottom:10px}.ls-space.padding.all-10{padding:10px}.ls-space.padding.left-15{padding-right:15px}.ls-space.padding.right-15{padding-left:15px}.ls-space.padding.top-15{padding-top:15px}.ls-space.padding.bottom-15{padding-bottom:15px}.ls-space.padding.all-15{padding:15px}.ls-space.padding.left-25{padding-right:25px}.ls-space.padding.right-25{padding-left:25px}.ls-space.padding.top-25{padding-top:25px}.ls-space.padding.bottom-25{padding-bottom:25px}.ls-space.padding.all-25{padding:25px}.ls-space.padding.left-30{padding-right:30px}.ls-space.padding.right-30{padding-left:30px}.ls-space.padding.top-30{padding-top:30px}.ls-space.padding.bottom-30{padding-bottom:30px}.ls-space.padding.all-30{padding:30px}.ls-space.padding.left-35{padding-right:35px}.ls-space.padding.right-35{padding-left:35px}.ls-space.padding.top-35{padding-top:35px}.ls-space.padding.bottom-35{padding-bottom:35px}.ls-space.padding.all-35{padding:35px}.ls-space.padding.left-40{padding-right:40px}.ls-space.padding.right-40{padding-left:40px}.ls-space.padding.top-40{padding-top:40px}.ls-space.padding.bottom-40{padding-bottom:40px}.ls-space.padding.all-40{padding:40px}.ls-space.padding.left-45{padding-right:45px}.ls-space.padding.right-45{padding-left:45px}.ls-space.padding.top-45{padding-top:45px}.ls-space.padding.bottom-45{padding-bottom:45px}.ls-space.padding.all-45{padding:45px}.ls-space.padding.left-50{padding-right:50px}.ls-space.padding.right-50{padding-left:50px}.ls-space.padding.top-50{padding-top:50px}.ls-space.padding.bottom-50{padding-bottom:50px}.ls-space.padding.all-50{padding:50px}.ls-ba .list-group,.ls-ba .list-group>.list-group-item{padding-left:0}.ls-ba .list-group>.list-group-item .list-group{margin-bottom:0}.ls-ba .list-group>.list-group-item .list-group .list-group-item:last-of-type{border-bottom:1px solid #dadada;margin-bottom:10px}.ls-ba .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"\F061";font:normal normal normal 18px/1 FontAwesome}.ls-ba .pager li>a,.ls-ba .pager li>span{border-radius:4px;margin:1px}div[class*=" col-"].nofloat,div[class^=col-].nofloat{float:none} \ No newline at end of file +.scoped-bottom-bar{align-self:flex-end}.scoped-toolbuttons-left{-webkit-box-flex:3;flex:3 0 auto;align-self:flex-start}.scoped-toolbuttons-left .btn{-webkit-box-flex:1;flex:1}.scoped-toolbuttons-right{-webkit-box-flex:2;flex:2 1 auto;align-self:flex-end;white-space:nowrap}.scoped-toolbuttons-right .btn{float:left}.list-group-item.question-question-list-item .editIcon{margin:10px 5px 10px 10px}.display-as-container{display:block}#questionexplorer{overflow:auto}.loader-adminpanel.loader-quickmenu .contain-pulse{width:2em}.sidebar_loader[data-v-63dc88f2]{height:100%;position:absolute;width:100%;background:hsla(0,0%,90.6%,.3);z-index:4501;box-shadow:-8px 0 15px hsla(0,0%,90.6%,.3);top:0}.scoped-placeholder-greyed-area[data-v-63dc88f2]{display:none}@media (max-width:768px){.scoped-hide-on-small[data-v-63dc88f2]{position:fixed;top:49px;right:-96vw;width:100vw;height:95vh;z-index:10}.scoped-hide-on-small.toggled[data-v-63dc88f2]{right:0}.scoped-hide-on-small .mainContentContainer[data-v-63dc88f2]{max-width:80vw;background:#fff}#sidebar .resize-handle>button[data-v-63dc88f2]{width:20px;background:var(--LS-admintheme-basecolor)}.scoped-placeholder-greyed-area[data-v-63dc88f2]{display:block;background:hsla(0,0%,49%,.2);height:100%;width:20vw}}.loader--loaderWidget[data-v-c92ecf4c]{position:absolute;top:0;right:0;width:100%;height:100%}.loader-adminpanel .contain-pulse .square[data-v-c92ecf4c]{display:block}#sidebar{padding-top:15px;width:100%}#sidebar .questiongroup-list-group>li.selected{opacity:.9}#sidebar .questiongroup-list-group>li.selected.activated{opacity:1}#sidebar .tabbutton.btn-primary{outline:none}#sidebar .tabbutton.btn-primary:after{position:absolute;right:43%;bottom:-12px;font:normal normal normal 14px/1 FontAwesome;font-size:28px;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\F078"}#sidebar .overflow-auto{overflow-x:hidden;overflow-y:auto}#sidebar .resize-handle{position:absolute;left:14px;top:0;bottom:0;height:100%;width:4px;cursor:col-resize}#sidebar .resize-handle button{outline:0;cursor:col-resize;width:100%;height:100%;text-align:right;border-radius:0;padding:0 4px 0 7px}#sidebar .resize-handle button:active,#sidebar .resize-handle button:focus,#sidebar .resize-handle button:hover{outline:0!important}#sidebar .resize-handle button i{font-size:12px;width:5px}#sidebar .transition-animate-width{-webkit-transition:all .5s ease;transition:all .5s ease}#sidebar div[class*=" col-"].nofloat,#sidebar div[class^=col-].nofloat{float:none}#sidebar .button-sub-bar{min-height:32px}#sidebar.fill-height,#sidebar .fill-height{height:100%}#sidebar .dragPointer{cursor:move}#sidebar .dragPointer.disabled{color:#999;cursor:not-allowed}#sidebar .question-question-list .question-question-list-item{padding:0}#sidebar .question-question-list .question-question-list-item .question-question-list-item-drag{margin:10px 15px}#sidebar .question-question-list .question-question-list-item.selected{padding-right:20px}#sidebar .question-question-list .question-question-list-item.selected .question-question-list-item-drag{margin:10px 5px 10px 10px}#sidebar .question-question-list .question-question-list-item .question-question-list-item-link{padding:10px 10px 10px 25px;display:-webkit-inline-box;display:inline-flex;flex-wrap:wrap}#sidebar .question_text_ellipsize{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:2px}.bigIcons{font-size:18px;line-height:21px;height:24px}.quickmenuIcon{font-size:"28px"}.ls-ba .list-group{-webkit-padding-start:0;padding-inline-start:0}.fade-enter-active{-webkit-transition:all .8s ease;transition:all .8s ease}.fade-leave-active{-webkit-transition:all .1s cubic-bezier(1,.5,.8,1);transition:all .1s cubic-bezier(1,.5,.8,1)}.fade-enter,.fade-leave-to{-webkit-transform:translateY(10px);transform:translateY(10px);opacity:0}.slide-fade-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-leave-active{-webkit-transition:all .2s cubic-bezier(1,.5,.8,1);transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter,.slide-fade-leave-to{-webkit-transform:rotateY(90);transform:rotateY(90);-webkit-transform-origin:right;transform-origin:right;opacity:0}.slide-fade-down-enter-active{-webkit-transition:all .3s ease;transition:all .3s ease}.slide-fade-down-leave-active{-webkit-transition:all .2s cubic-bezier(0,1,.5,1);transition:all .2s cubic-bezier(0,1,.5,1)}.slide-fade-down-enter,.slide-fade-down-leave-to{-webkit-transform:rotateY(45);transform:rotateY(45);-webkit-transform-origin:right;transform-origin:right;opacity:0}#pjax-content .side-body{min-height:0}.menubar{position:relative}.menubar.surveybar{width:100%;margin:8px auto;z-index:100}#side-menu-container{width:20%}.nooverflow{overflow:hidden}.overflow-enabled{overflow:auto}.side-body{min-height:400px}footer.footer{position:static}ol.breadcrumb.title-bar-breadcrumb{margin-bottom:0}ol.breadcrumb.title-bar-breadcrumb>:first-child a.animate:after{margin-right:0}ol.breadcrumb.title-bar-breadcrumb a{text-decoration:none;line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb a.animate:after{text-align:left;content:"";display:block;width:0;height:2px}ol.breadcrumb.title-bar-breadcrumb a.animate:hover:after{width:100%}ol.breadcrumb.title-bar-breadcrumb a.animate.home-icon:hover:after{margin-right:0;width:100%!important}ol.breadcrumb.title-bar-breadcrumb li{line-height:24px;font-size:18px}ol.breadcrumb.title-bar-breadcrumb li.active{font-style:italic}ol.breadcrumb.title-bar-breadcrumb li>div{display:inline-block}ol.breadcrumb.title-bar-breadcrumb .menu-label{width:100%;display:block;font-size:85%;font-style:normal}.breadcrumb-title{line-height:24px;font-size:18px;padding:8px 15px}#pjax-file-load-container{height:6px;position:fixed;top:1px;right:0;width:100%;width:100vw}#pjax-file-load-container>div{display:none;height:8px;border-radius:1px}#pjaxClickInhibitor{position:fixed;right:0;top:0;z-index:9999999;width:100%;width:100vw;height:100%;height:100vh;background:hsla(0,0%,98%,.4);cursor:progress}.makeDisabledInputsTransparent input:disabled{color:transparent}.btn-group .btn input[type=checkbox],.btn-group .btn input[type=radio]{outline:none;margin:0;padding:0;border:0}.btn-group .btn input[type=checkbox]:after,.btn-group .btn input[type=checkbox]:before,.btn-group .btn input[type=radio]:after,.btn-group .btn input[type=radio]:before{display:none}.blocker-loading{display:block;height:96%;width:96%;top:3%;right:3%;box-shadow:0 0 3% hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.3);z-index:9997;position:fixed}.blocker-loading,.blocker-loading .blocker-loading-container{-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.blocker-loading .blocker-loading-container{display:-webkit-box;display:flex;height:100%;width:100%}.blocker-loading .blocker-loading-container .loading-icon-fa{display:-webkit-box;display:flex;z-index:9999;font-size:13rem}@media (max-width:768px){.navbar-header,.simpleWrapper{background:#fff}.simpleWrapper{position:absolute;right:0;width:20px!important}#sidebar{width:99vw;padding-left:10px}#vue-apps-main-container,.surveymanagerbar,footer.footer{margin-right:22px}}.ls-flex,.ls-flex-column,.ls-flex-row{display:-moz-flex;display:-webkit-box;display:flex}.align-items-center.ls-flex-column,.align-items-center.ls-flex-row,.ls-flex.align-items-center{-ms-align-items:center;-moz-align-items:center;-webkit-box-align:center;align-items:center}.align-items-flex-start.ls-flex-column,.align-items-flex-start.ls-flex-row,.ls-flex.align-items-flex-start{-ms-align-items:flex-start;-moz-align-items:flex-start;-webkit-box-align:start;align-items:flex-start}.align-items-flex-end.ls-flex-column,.align-items-flex-end.ls-flex-row,.ls-flex.align-items-flex-end{-ms-align-items:flex-end;-moz-align-items:flex-end;-webkit-box-align:end;align-items:flex-end}.align-items-baseline.ls-flex-column,.align-items-baseline.ls-flex-row,.ls-flex.align-items-baseline{-ms-align-items:baseline;-moz-align-items:baseline;-webkit-box-align:baseline;align-items:baseline}.align-items-stretch.ls-flex-column,.align-items-stretch.ls-flex-row,.ls-flex.align-items-stretch{-ms-align-items:stretch;-moz-align-items:stretch;-webkit-box-align:stretch;align-items:stretch}.align-content-center.ls-flex-column,.align-content-center.ls-flex-row,.ls-flex.align-content-center{-ms-justify-content:center;-moz-justify-content:center;-webkit-box-pack:center;justify-content:center}.align-content-flex-start.ls-flex-column,.align-content-flex-start.ls-flex-row,.ls-flex.align-content-flex-start{-ms-justify-content:flex-start;-moz-justify-content:flex-start;-webkit-box-pack:start;justify-content:flex-start}.align-content-flex-end.ls-flex-column,.align-content-flex-end.ls-flex-row,.ls-flex.align-content-flex-end{-ms-justify-content:flex-end;-moz-justify-content:flex-end;-webkit-box-pack:end;justify-content:flex-end}.align-content-space-between.ls-flex-column,.align-content-space-between.ls-flex-row,.ls-flex.align-content-space-between{-ms-justify-content:space-between;-moz-justify-content:space-between;-webkit-box-pack:justify;justify-content:space-between}.align-content-space-around.ls-flex-column,.align-content-space-around.ls-flex-row,.ls-flex.align-content-space-around{-ms-justify-content:space-around;-moz-justify-content:space-around;justify-content:space-around}.ls-flex.wrap,.wrap.ls-flex-column,.wrap.ls-flex-row{flex-wrap:wrap}.ls-flex-column .grow-1,.ls-flex-row .grow-1,.ls-flex .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-column .shrink-1,.ls-flex-row .shrink-1,.ls-flex .shrink-1{flex-shrink:1}.ls-flex-column .col-1,.ls-flex-row .col-1,.ls-flex .col-1{width:8.33333%}.ls-flex-column .grow-2,.ls-flex-row .grow-2,.ls-flex .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-column .shrink-2,.ls-flex-row .shrink-2,.ls-flex .shrink-2{flex-shrink:2}.ls-flex-column .col-2,.ls-flex-row .col-2,.ls-flex .col-2{width:16.66667%}.ls-flex-column .grow-3,.ls-flex-row .grow-3,.ls-flex .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-column .shrink-3,.ls-flex-row .shrink-3,.ls-flex .shrink-3{flex-shrink:3}.ls-flex-column .col-3,.ls-flex-row .col-3,.ls-flex .col-3{width:25%}.ls-flex-column .grow-4,.ls-flex-row .grow-4,.ls-flex .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-column .shrink-4,.ls-flex-row .shrink-4,.ls-flex .shrink-4{flex-shrink:4}.ls-flex-column .col-4,.ls-flex-row .col-4,.ls-flex .col-4{width:33.33333%}.ls-flex-column .grow-5,.ls-flex-row .grow-5,.ls-flex .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-column .shrink-5,.ls-flex-row .shrink-5,.ls-flex .shrink-5{flex-shrink:5}.ls-flex-column .col-5,.ls-flex-row .col-5,.ls-flex .col-5{width:41.66667%}.ls-flex-column .grow-6,.ls-flex-row .grow-6,.ls-flex .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-column .shrink-6,.ls-flex-row .shrink-6,.ls-flex .shrink-6{flex-shrink:6}.ls-flex-column .col-6,.ls-flex-row .col-6,.ls-flex .col-6{width:50%}.ls-flex-column .grow-7,.ls-flex-row .grow-7,.ls-flex .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-column .shrink-7,.ls-flex-row .shrink-7,.ls-flex .shrink-7{flex-shrink:7}.ls-flex-column .col-7,.ls-flex-row .col-7,.ls-flex .col-7{width:58.33333%}.ls-flex-column .grow-8,.ls-flex-row .grow-8,.ls-flex .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-column .shrink-8,.ls-flex-row .shrink-8,.ls-flex .shrink-8{flex-shrink:8}.ls-flex-column .col-8,.ls-flex-row .col-8,.ls-flex .col-8{width:66.66667%}.ls-flex-column .grow-9,.ls-flex-row .grow-9,.ls-flex .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-column .shrink-9,.ls-flex-row .shrink-9,.ls-flex .shrink-9{flex-shrink:9}.ls-flex-column .col-9,.ls-flex-row .col-9,.ls-flex .col-9{width:75%}.ls-flex-column .grow-10,.ls-flex-row .grow-10,.ls-flex .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-column .shrink-10,.ls-flex-row .shrink-10,.ls-flex .shrink-10{flex-shrink:10}.ls-flex-column .col-10,.ls-flex-row .col-10,.ls-flex .col-10{width:83.33333%}.ls-flex-column .grow-11,.ls-flex-row .grow-11,.ls-flex .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-column .shrink-11,.ls-flex-row .shrink-11,.ls-flex .shrink-11{flex-shrink:11}.ls-flex-column .col-11,.ls-flex-row .col-11,.ls-flex .col-11{width:91.66667%}.ls-flex-column .grow-12,.ls-flex-row .grow-12,.ls-flex .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-column .shrink-12,.ls-flex-row .shrink-12,.ls-flex .shrink-12{flex-shrink:12}.ls-flex-column .col-12,.ls-flex-row .col-12,.ls-flex .col-12{width:100%}.ls-flex-item{-webkit-box-flex:1;flex:1}.ls-flex-item .grow-1{-webkit-box-flex:1;flex-grow:1}.ls-flex-item .col-1{width:8.33333%}.ls-flex-item .grow-2{-webkit-box-flex:2;flex-grow:2}.ls-flex-item .col-2{width:16.66667%}.ls-flex-item .grow-3{-webkit-box-flex:3;flex-grow:3}.ls-flex-item .col-3{width:25%}.ls-flex-item .grow-4{-webkit-box-flex:4;flex-grow:4}.ls-flex-item .col-4{width:33.33333%}.ls-flex-item .grow-5{-webkit-box-flex:5;flex-grow:5}.ls-flex-item .col-5{width:41.66667%}.ls-flex-item .grow-6{-webkit-box-flex:6;flex-grow:6}.ls-flex-item .col-6{width:50%}.ls-flex-item .grow-7{-webkit-box-flex:7;flex-grow:7}.ls-flex-item .col-7{width:58.33333%}.ls-flex-item .grow-8{-webkit-box-flex:8;flex-grow:8}.ls-flex-item .col-8{width:66.66667%}.ls-flex-item .grow-9{-webkit-box-flex:9;flex-grow:9}.ls-flex-item .col-9{width:75%}.ls-flex-item .grow-10{-webkit-box-flex:10;flex-grow:10}.ls-flex-item .col-10{width:83.33333%}.ls-flex-item .grow-11{-webkit-box-flex:11;flex-grow:11}.ls-flex-item .col-11{width:91.66667%}.ls-flex-item .grow-12{-webkit-box-flex:12;flex-grow:12}.ls-flex-item .col-12{width:100%}.ls-flex-row{-moz-flex-direction:row;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.ls-flex-column{-moz-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.ls-flex-column.fill{height:100%}.ls-space.margin.left-0{margin-right:0}.ls-space.margin.right-0{margin-left:0}.ls-space.margin.top-0{margin-top:0}.ls-space.margin.bottom-0{margin-bottom:0}.ls-space.margin.all-0{margin:0}.ls-space.margin.left-5{margin-right:5px}.ls-space.margin.right-5{margin-left:5px}.ls-space.margin.top-5{margin-top:5px}.ls-space.margin.bottom-5{margin-bottom:5px}.ls-space.margin.all-5{margin:5px}.ls-space.margin.left-10{margin-right:10px}.ls-space.margin.right-10{margin-left:10px}.ls-space.margin.top-10{margin-top:10px}.ls-space.margin.bottom-10{margin-bottom:10px}.ls-space.margin.all-10{margin:10px}.ls-space.margin.left-15{margin-right:15px}.ls-space.margin.right-15{margin-left:15px}.ls-space.margin.top-15{margin-top:15px}.ls-space.margin.bottom-15{margin-bottom:15px}.ls-space.margin.all-15{margin:15px}.ls-space.margin.left-25{margin-right:25px}.ls-space.margin.right-25{margin-left:25px}.ls-space.margin.top-25{margin-top:25px}.ls-space.margin.bottom-25{margin-bottom:25px}.ls-space.margin.all-25{margin:25px}.ls-space.margin.left-30{margin-right:30px}.ls-space.margin.right-30{margin-left:30px}.ls-space.margin.top-30{margin-top:30px}.ls-space.margin.bottom-30{margin-bottom:30px}.ls-space.margin.all-30{margin:30px}.ls-space.margin.left-35{margin-right:35px}.ls-space.margin.right-35{margin-left:35px}.ls-space.margin.top-35{margin-top:35px}.ls-space.margin.bottom-35{margin-bottom:35px}.ls-space.margin.all-35{margin:35px}.ls-space.margin.left-40{margin-right:40px}.ls-space.margin.right-40{margin-left:40px}.ls-space.margin.top-40{margin-top:40px}.ls-space.margin.bottom-40{margin-bottom:40px}.ls-space.margin.all-40{margin:40px}.ls-space.margin.left-45{margin-right:45px}.ls-space.margin.right-45{margin-left:45px}.ls-space.margin.top-45{margin-top:45px}.ls-space.margin.bottom-45{margin-bottom:45px}.ls-space.margin.all-45{margin:45px}.ls-space.margin.left-50{margin-right:50px}.ls-space.margin.right-50{margin-left:50px}.ls-space.margin.top-50{margin-top:50px}.ls-space.margin.bottom-50{margin-bottom:50px}.ls-space.margin.all-50{margin:50px}.ls-space.padding.left-0{padding-right:0}.ls-space.padding.right-0{padding-left:0}.ls-space.padding.top-0{padding-top:0}.ls-space.padding.bottom-0{padding-bottom:0}.ls-space.padding.all-0{padding:0}.ls-space.padding.left-5{padding-right:5px}.ls-space.padding.right-5{padding-left:5px}.ls-space.padding.top-5{padding-top:5px}.ls-space.padding.bottom-5{padding-bottom:5px}.ls-space.padding.all-5{padding:5px}.ls-space.padding.left-10{padding-right:10px}.ls-space.padding.right-10{padding-left:10px}.ls-space.padding.top-10{padding-top:10px}.ls-space.padding.bottom-10{padding-bottom:10px}.ls-space.padding.all-10{padding:10px}.ls-space.padding.left-15{padding-right:15px}.ls-space.padding.right-15{padding-left:15px}.ls-space.padding.top-15{padding-top:15px}.ls-space.padding.bottom-15{padding-bottom:15px}.ls-space.padding.all-15{padding:15px}.ls-space.padding.left-25{padding-right:25px}.ls-space.padding.right-25{padding-left:25px}.ls-space.padding.top-25{padding-top:25px}.ls-space.padding.bottom-25{padding-bottom:25px}.ls-space.padding.all-25{padding:25px}.ls-space.padding.left-30{padding-right:30px}.ls-space.padding.right-30{padding-left:30px}.ls-space.padding.top-30{padding-top:30px}.ls-space.padding.bottom-30{padding-bottom:30px}.ls-space.padding.all-30{padding:30px}.ls-space.padding.left-35{padding-right:35px}.ls-space.padding.right-35{padding-left:35px}.ls-space.padding.top-35{padding-top:35px}.ls-space.padding.bottom-35{padding-bottom:35px}.ls-space.padding.all-35{padding:35px}.ls-space.padding.left-40{padding-right:40px}.ls-space.padding.right-40{padding-left:40px}.ls-space.padding.top-40{padding-top:40px}.ls-space.padding.bottom-40{padding-bottom:40px}.ls-space.padding.all-40{padding:40px}.ls-space.padding.left-45{padding-right:45px}.ls-space.padding.right-45{padding-left:45px}.ls-space.padding.top-45{padding-top:45px}.ls-space.padding.bottom-45{padding-bottom:45px}.ls-space.padding.all-45{padding:45px}.ls-space.padding.left-50{padding-right:50px}.ls-space.padding.right-50{padding-left:50px}.ls-space.padding.top-50{padding-top:50px}.ls-space.padding.bottom-50{padding-bottom:50px}.ls-space.padding.all-50{padding:50px}.ls-ba .list-group,.ls-ba .list-group>.list-group-item{padding-left:0}.ls-ba .list-group>.list-group-item .list-group{margin-bottom:0}.ls-ba .list-group>.list-group-item .list-group .list-group-item:last-of-type{border-bottom:1px solid #dadada;margin-bottom:10px}.ls-ba .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"\F061";font:normal normal normal 18px/1 FontAwesome}.ls-ba .pager li>a,.ls-ba .pager li>span{border-radius:4px;margin:1px}div[class*=" col-"].nofloat,div[class^=col-].nofloat{float:none} \ No newline at end of file diff --git a/assets/packages/adminsidepanel/build.min/js/adminsidepanel.js b/assets/packages/adminsidepanel/build.min/js/adminsidepanel.js index dc2f62fa79b..90ee8ab07bc 100644 --- a/assets/packages/adminsidepanel/build.min/js/adminsidepanel.js +++ b/assets/packages/adminsidepanel/build.min/js/adminsidepanel.js @@ -1,4 +1,4 @@ -(function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=0)})({0:function(t,e,n){n("a3f7"),n("7a1c"),t.exports=n("4fe9")},"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),u=n("84f2"),s=n("41a0"),c=n("7f20"),l=n("38fd"),f=n("2b4c")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",h="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,y,_,b){s(n,e,m);var w,x,S,$=function(t){if(!p&&t in C)return C[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",A=y==v,k=!1,C=t.prototype,j=C[f]||C[d]||y&&C[y],T=j||$(y),M=y?A?$("entries"):T:void 0,E="Array"==e&&C.entries||j;if(E&&(S=l(E.call(new t)),S!==Object.prototype&&S.next&&(c(S,O,!0),r||"function"==typeof S[f]||a(S,f,g))),A&&j&&j.name!==v&&(k=!0,T=function(){return j.call(this)}),r&&!b||!p&&!k&&C[f]||a(C,f,T),u[e]=T,u[O]=g,y)if(w={values:A?T:$(v),keys:_?T:$(h),entries:M},b)for(x in w)x in C||o(C,x,w[x]);else i(i.P+i.F*(p||k),e,w);return w}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,u=String(i(e)),s=r(n),c=u.length;return s<0||s>=c?t?"":void 0:(o=u.charCodeAt(s),o<55296||o>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?t?u.charAt(s):o:t?u.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"097d":function(t,e,n){"use strict";var r=n("5ca1"),i=n("8378"),o=n("7726"),a=n("ebd6"),u=n("bcaa");r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then((function(){return n}))}:t,n?function(n){return u(e,t()).then((function(){throw n}))}:t)}})},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),a=n("9def"),u=n("cd1c");t.exports=function(t,e){var n=1==t,s=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,d=e||u;return function(e,u,h){for(var v,g,m=o(e),y=i(m),_=r(u,h,3),b=a(y.length),w=0,x=n?d(e,b):s?d(e,0):void 0;b>w;w++)if((p||w in y)&&(v=y[w],g=_(v,w,m),t))if(n)x[w]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(l)return!1;return f?-1:c||l?l:x}}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),u=n("69a8"),s=n("c69a"),c=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?c:function(t,e){if(t=o(t),e=a(e,!0),s)try{return c(t,e)}catch(n){}if(u(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),u=a.length,s=0;while(u>s)r.f(t,n=a[s++],e[n]);return t}},"14b9":function(t,e,n){var r=n("5ca1");r(r.P,"String",{repeat:n("9744")})},1654:function(t,e,n){"use strict";var r=n("71c1")(!0);n("30f1")(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},1691:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},1991:function(t,e,n){var r,i,o,a=n("9b43"),u=n("31f4"),s=n("fab2"),c=n("230e"),l=n("7726"),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=l.Dispatch,g=0,m={},y="onreadystatechange",_=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},b=function(t){_.call(t.data)};p&&d||(p=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return m[++g]=function(){u("function"==typeof t?t:Function(t),e)},r(g),g},d=function(t){delete m[t]},"process"==n("2d95")(f)?r=function(t){f.nextTick(a(_,t,1))}:v&&v.now?r=function(t){v.now(a(_,t,1))}:h?(i=new h,o=i.port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+"","*")},l.addEventListener("message",b,!1)):r=y in c("script")?function(t){s.appendChild(c("script"))[y]=function(){s.removeChild(this),_.call(t)}}:function(t){setTimeout(a(_,t,1),0)}),t.exports={set:p,clear:d}},"1af6":function(t,e,n){var r=n("63b6");r(r.S,"Array",{isArray:n("9003")})},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1c4c":function(t,e,n){"use strict";var r=n("9b43"),i=n("5ca1"),o=n("4bf8"),a=n("1fa8"),u=n("33a4"),s=n("9def"),c=n("f1ae"),l=n("27ee");i(i.S+i.F*!n("5cc5")((function(t){Array.from(t)})),"Array",{from:function(t){var e,n,i,f,p=o(t),d="function"==typeof this?this:Array,h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v,m=0,y=l(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),void 0==y||d==Array&&u(y))for(e=s(p.length),n=new d(e);e>m;m++)c(n,m,g?v(p[m],m):p[m]);else for(f=y.call(p),n=new d;!(i=f.next()).done;m++)c(n,m,g?a(f,v,[i.value,m],!0):i.value);return n.length=m,n}})},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"1fa8":function(t,e,n){var r=n("cb7c");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},"20fd":function(t,e,n){"use strict";var r=n("d9f6"),i=n("aebd");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),u=n("2b4c"),s=n("520a"),c=u("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var p=u(t),d=!o((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),h=d?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[p](""),!e})):void 0;if(!d||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[p],g=n(a,p,""[t],(function(t,e,n,r,i){return e.exec===s?d&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),m=g[0],y=g[1];r(String.prototype,t,m),i(RegExp.prototype,p,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"23c6":function(t,e,n){var r=n("2d95"),i=n("2b4c")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},"241e":function(t,e,n){var r=n("25eb");t.exports=function(t){return Object(r(t))}},"25eb":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},"27ee":function(t,e,n){var r=n("23c6"),i=n("2b4c")("iterator"),o=n("84f2");t.exports=n("8378").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},"28a5":function(t,e,n){"use strict";var r=n("aae3"),i=n("cb7c"),o=n("ebd6"),a=n("0390"),u=n("9def"),s=n("5f1b"),c=n("520a"),l=n("79e5"),f=Math.min,p=[].push,d="split",h="length",v="lastIndex",g=4294967295,m=!l((function(){RegExp(g,"y")}));n("214f")("split",2,(function(t,e,n,l){var y;return y="c"=="abbc"[d](/(b)*/)[1]||4!="test"[d](/(?:)/,-1)[h]||2!="ab"[d](/(?:ab)*/)[h]||4!="."[d](/(.?)(.?)/)[h]||"."[d](/()()/)[h]>1||""[d](/.?/)[h]?function(t,e){var i=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(i,t,e);var o,a,u,s=[],l=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,d=void 0===e?g:e>>>0,m=new RegExp(t.source,l+"g");while(o=c.call(m,i)){if(a=m[v],a>f&&(s.push(i.slice(f,o.index)),o[h]>1&&o.index=d))break;m[v]===o.index&&m[v]++}return f===i[h]?!u&&m.test("")||s.push(""):s.push(i.slice(f)),s[h]>d?s.slice(0,d):s}:"0"[d](void 0,0)[h]?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var i=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,i,r):y.call(String(i),n,r)},function(t,e){var r=l(y,t,this,e,y!==n);if(r.done)return r.value;var c=i(t),p=String(this),d=o(c,RegExp),h=c.unicode,v=(c.ignoreCase?"i":"")+(c.multiline?"m":"")+(c.unicode?"u":"")+(m?"y":"g"),_=new d(m?c:"^(?:"+c.source+")",v),b=void 0===e?g:e>>>0;if(0===b)return[];if(0===p.length)return null===s(_,p)?[p]:[];var w=0,x=0,S=[];while(x";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[s][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u[s]=r(t),n=new u,u[s]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,u=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};u.store=r},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2e4c":function(t,e,n){},"2ef0":function(t,e,n){(function(t,r){var i; +(function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=0)})({0:function(t,e,n){n("a3f7"),n("7a1c"),t.exports=n("4fe9")},"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),u=n("84f2"),s=n("41a0"),c=n("7f20"),l=n("38fd"),f=n("2b4c")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",h="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,y,_,b){s(n,e,m);var w,x,S,$=function(t){if(!p&&t in C)return C[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",A=y==v,k=!1,C=t.prototype,j=C[f]||C[d]||y&&C[y],T=j||$(y),M=y?A?$("entries"):T:void 0,E="Array"==e&&C.entries||j;if(E&&(S=l(E.call(new t)),S!==Object.prototype&&S.next&&(c(S,O,!0),r||"function"==typeof S[f]||a(S,f,g))),A&&j&&j.name!==v&&(k=!0,T=function(){return j.call(this)}),r&&!b||!p&&!k&&C[f]||a(C,f,T),u[e]=T,u[O]=g,y)if(w={values:A?T:$(v),keys:_?T:$(h),entries:M},b)for(x in w)x in C||o(C,x,w[x]);else i(i.P+i.F*(p||k),e,w);return w}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,u=String(i(e)),s=r(n),c=u.length;return s<0||s>=c?t?"":void 0:(o=u.charCodeAt(s),o<55296||o>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?t?u.charAt(s):o:t?u.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"097d":function(t,e,n){"use strict";var r=n("5ca1"),i=n("8378"),o=n("7726"),a=n("ebd6"),u=n("bcaa");r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then((function(){return n}))}:t,n?function(n){return u(e,t()).then((function(){throw n}))}:t)}})},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),a=n("9def"),u=n("cd1c");t.exports=function(t,e){var n=1==t,s=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,d=e||u;return function(e,u,h){for(var v,g,m=o(e),y=i(m),_=r(u,h,3),b=a(y.length),w=0,x=n?d(e,b):s?d(e,0):void 0;b>w;w++)if((p||w in y)&&(v=y[w],g=_(v,w,m),t))if(n)x[w]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(l)return!1;return f?-1:c||l?l:x}}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),u=n("69a8"),s=n("c69a"),c=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?c:function(t,e){if(t=o(t),e=a(e,!0),s)try{return c(t,e)}catch(n){}if(u(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),u=a.length,s=0;while(u>s)r.f(t,n=a[s++],e[n]);return t}},"14b9":function(t,e,n){var r=n("5ca1");r(r.P,"String",{repeat:n("9744")})},1654:function(t,e,n){"use strict";var r=n("71c1")(!0);n("30f1")(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},1691:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},1991:function(t,e,n){var r,i,o,a=n("9b43"),u=n("31f4"),s=n("fab2"),c=n("230e"),l=n("7726"),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=l.Dispatch,g=0,m={},y="onreadystatechange",_=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},b=function(t){_.call(t.data)};p&&d||(p=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return m[++g]=function(){u("function"==typeof t?t:Function(t),e)},r(g),g},d=function(t){delete m[t]},"process"==n("2d95")(f)?r=function(t){f.nextTick(a(_,t,1))}:v&&v.now?r=function(t){v.now(a(_,t,1))}:h?(i=new h,o=i.port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+"","*")},l.addEventListener("message",b,!1)):r=y in c("script")?function(t){s.appendChild(c("script"))[y]=function(){s.removeChild(this),_.call(t)}}:function(t){setTimeout(a(_,t,1),0)}),t.exports={set:p,clear:d}},"1af6":function(t,e,n){var r=n("63b6");r(r.S,"Array",{isArray:n("9003")})},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1c4c":function(t,e,n){"use strict";var r=n("9b43"),i=n("5ca1"),o=n("4bf8"),a=n("1fa8"),u=n("33a4"),s=n("9def"),c=n("f1ae"),l=n("27ee");i(i.S+i.F*!n("5cc5")((function(t){Array.from(t)})),"Array",{from:function(t){var e,n,i,f,p=o(t),d="function"==typeof this?this:Array,h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v,m=0,y=l(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),void 0==y||d==Array&&u(y))for(e=s(p.length),n=new d(e);e>m;m++)c(n,m,g?v(p[m],m):p[m]);else for(f=y.call(p),n=new d;!(i=f.next()).done;m++)c(n,m,g?a(f,v,[i.value,m],!0):i.value);return n.length=m,n}})},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"1fa8":function(t,e,n){var r=n("cb7c");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},"20fd":function(t,e,n){"use strict";var r=n("d9f6"),i=n("aebd");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),u=n("2b4c"),s=n("520a"),c=u("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var p=u(t),d=!o((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),h=d?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[p](""),!e})):void 0;if(!d||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[p],g=n(a,p,""[t],(function(t,e,n,r,i){return e.exec===s?d&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),m=g[0],y=g[1];r(String.prototype,t,m),i(RegExp.prototype,p,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"23c6":function(t,e,n){var r=n("2d95"),i=n("2b4c")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},"241e":function(t,e,n){var r=n("25eb");t.exports=function(t){return Object(r(t))}},"25eb":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},"27ee":function(t,e,n){var r=n("23c6"),i=n("2b4c")("iterator"),o=n("84f2");t.exports=n("8378").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},"28a5":function(t,e,n){"use strict";var r=n("aae3"),i=n("cb7c"),o=n("ebd6"),a=n("0390"),u=n("9def"),s=n("5f1b"),c=n("520a"),l=n("79e5"),f=Math.min,p=[].push,d="split",h="length",v="lastIndex",g=4294967295,m=!l((function(){RegExp(g,"y")}));n("214f")("split",2,(function(t,e,n,l){var y;return y="c"=="abbc"[d](/(b)*/)[1]||4!="test"[d](/(?:)/,-1)[h]||2!="ab"[d](/(?:ab)*/)[h]||4!="."[d](/(.?)(.?)/)[h]||"."[d](/()()/)[h]>1||""[d](/.?/)[h]?function(t,e){var i=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(i,t,e);var o,a,u,s=[],l=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,d=void 0===e?g:e>>>0,m=new RegExp(t.source,l+"g");while(o=c.call(m,i)){if(a=m[v],a>f&&(s.push(i.slice(f,o.index)),o[h]>1&&o.index=d))break;m[v]===o.index&&m[v]++}return f===i[h]?!u&&m.test("")||s.push(""):s.push(i.slice(f)),s[h]>d?s.slice(0,d):s}:"0"[d](void 0,0)[h]?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var i=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,i,r):y.call(String(i),n,r)},function(t,e){var r=l(y,t,this,e,y!==n);if(r.done)return r.value;var c=i(t),p=String(this),d=o(c,RegExp),h=c.unicode,v=(c.ignoreCase?"i":"")+(c.multiline?"m":"")+(c.unicode?"u":"")+(m?"y":"g"),_=new d(m?c:"^(?:"+c.source+")",v),b=void 0===e?g:e>>>0;if(0===b)return[];if(0===p.length)return null===s(_,p)?[p]:[];var w=0,x=0,S=[];while(x";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[s][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u[s]=r(t),n=new u,u[s]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,u=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};u.store=r},"2c45":function(t,e,n){"use strict";var r=n("3024"),i=n.n(r);i.a},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2db0":function(t,e,n){"use strict";var r=n("5289"),i=n.n(r);i.a},"2ef0":function(t,e,n){(function(t,r){var i; /** * @license * Lodash @@ -6,7 +6,7 @@ * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(){var o,a="4.17.15",u=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",c="Expected a function",l="__lodash_hash_undefined__",f=500,p="__lodash_placeholder__",d=1,h=2,v=4,g=1,m=2,y=1,_=2,b=4,w=8,x=16,S=32,$=64,O=128,A=256,k=512,C=30,j="...",T=800,M=16,E=1,L=2,I=3,P=1/0,N=9007199254740991,D=17976931348623157e292,R=NaN,q=4294967295,F=q-1,B=q>>>1,z=[["ary",O],["bind",y],["bindKey",_],["curry",w],["curryRight",x],["flip",k],["partial",S],["partialRight",$],["rearg",A]],H="[object Arguments]",Q="[object Array]",G="[object AsyncFunction]",U="[object Boolean]",W="[object Date]",V="[object DOMException]",K="[object Error]",J="[object Function]",Z="[object GeneratorFunction]",X="[object Map]",Y="[object Number]",tt="[object Null]",et="[object Object]",nt="[object Promise]",rt="[object Proxy]",it="[object RegExp]",ot="[object Set]",at="[object String]",ut="[object Symbol]",st="[object Undefined]",ct="[object WeakMap]",lt="[object WeakSet]",ft="[object ArrayBuffer]",pt="[object DataView]",dt="[object Float32Array]",ht="[object Float64Array]",vt="[object Int8Array]",gt="[object Int16Array]",mt="[object Int32Array]",yt="[object Uint8Array]",_t="[object Uint8ClampedArray]",bt="[object Uint16Array]",wt="[object Uint32Array]",xt=/\b__p \+= '';/g,St=/\b(__p \+=) '' \+/g,$t=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ot=/&(?:amp|lt|gt|quot|#39);/g,At=/[&<>"']/g,kt=RegExp(Ot.source),Ct=RegExp(At.source),jt=/<%-([\s\S]+?)%>/g,Tt=/<%([\s\S]+?)%>/g,Mt=/<%=([\s\S]+?)%>/g,Et=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lt=/^\w*$/,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pt=/[\\^$.*+?()[\]{}|]/g,Nt=RegExp(Pt.source),Dt=/^\s+|\s+$/g,Rt=/^\s+/,qt=/\s+$/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,zt=/,? & /,Ht=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Qt=/\\(\\)?/g,Gt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ut=/\w*$/,Wt=/^[-+]0x[0-9a-f]+$/i,Vt=/^0b[01]+$/i,Kt=/^\[object .+?Constructor\]$/,Jt=/^0o[0-7]+$/i,Zt=/^(?:0|[1-9]\d*)$/,Xt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Yt=/($^)/,te=/['\n\r\u2028\u2029\\]/g,ee="\\ud800-\\udfff",ne="\\u0300-\\u036f",re="\\ufe20-\\ufe2f",ie="\\u20d0-\\u20ff",oe=ne+re+ie,ae="\\u2700-\\u27bf",ue="a-z\\xdf-\\xf6\\xf8-\\xff",se="\\xac\\xb1\\xd7\\xf7",ce="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",le="\\u2000-\\u206f",fe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="A-Z\\xc0-\\xd6\\xd8-\\xde",de="\\ufe0e\\ufe0f",he=se+ce+le+fe,ve="['’]",ge="["+ee+"]",me="["+he+"]",ye="["+oe+"]",_e="\\d+",be="["+ae+"]",we="["+ue+"]",xe="[^"+ee+he+_e+ae+ue+pe+"]",Se="\\ud83c[\\udffb-\\udfff]",$e="(?:"+ye+"|"+Se+")",Oe="[^"+ee+"]",Ae="(?:\\ud83c[\\udde6-\\uddff]){2}",ke="[\\ud800-\\udbff][\\udc00-\\udfff]",Ce="["+pe+"]",je="\\u200d",Te="(?:"+we+"|"+xe+")",Me="(?:"+Ce+"|"+xe+")",Ee="(?:"+ve+"(?:d|ll|m|re|s|t|ve))?",Le="(?:"+ve+"(?:D|LL|M|RE|S|T|VE))?",Ie=$e+"?",Pe="["+de+"]?",Ne="(?:"+je+"(?:"+[Oe,Ae,ke].join("|")+")"+Pe+Ie+")*",De="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Re="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",qe=Pe+Ie+Ne,Fe="(?:"+[be,Ae,ke].join("|")+")"+qe,Be="(?:"+[Oe+ye+"?",ye,Ae,ke,ge].join("|")+")",ze=RegExp(ve,"g"),He=RegExp(ye,"g"),Qe=RegExp(Se+"(?="+Se+")|"+Be+qe,"g"),Ge=RegExp([Ce+"?"+we+"+"+Ee+"(?="+[me,Ce,"$"].join("|")+")",Me+"+"+Le+"(?="+[me,Ce+Te,"$"].join("|")+")",Ce+"?"+Te+"+"+Ee,Ce+"+"+Le,Re,De,_e,Fe].join("|"),"g"),Ue=RegExp("["+je+ee+oe+de+"]"),We=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ve=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ke=-1,Je={};Je[dt]=Je[ht]=Je[vt]=Je[gt]=Je[mt]=Je[yt]=Je[_t]=Je[bt]=Je[wt]=!0,Je[H]=Je[Q]=Je[ft]=Je[U]=Je[pt]=Je[W]=Je[K]=Je[J]=Je[X]=Je[Y]=Je[et]=Je[it]=Je[ot]=Je[at]=Je[ct]=!1;var Ze={};Ze[H]=Ze[Q]=Ze[ft]=Ze[pt]=Ze[U]=Ze[W]=Ze[dt]=Ze[ht]=Ze[vt]=Ze[gt]=Ze[mt]=Ze[X]=Ze[Y]=Ze[et]=Ze[it]=Ze[ot]=Ze[at]=Ze[ut]=Ze[yt]=Ze[_t]=Ze[bt]=Ze[wt]=!0,Ze[K]=Ze[J]=Ze[ct]=!1;var Xe={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},Ye={"&":"&","<":"<",">":">",'"':""","'":"'"},tn={"&":"&","<":"<",">":">",""":'"',"'":"'"},en={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},nn=parseFloat,rn=parseInt,on="object"==typeof t&&t&&t.Object===Object&&t,an="object"==typeof self&&self&&self.Object===Object&&self,un=on||an||Function("return this")(),sn=e&&!e.nodeType&&e,cn=sn&&"object"==typeof r&&r&&!r.nodeType&&r,ln=cn&&cn.exports===sn,fn=ln&&on.process,pn=function(){try{var t=cn&&cn.require&&cn.require("util").types;return t||fn&&fn.binding&&fn.binding("util")}catch(e){}}(),dn=pn&&pn.isArrayBuffer,hn=pn&&pn.isDate,vn=pn&&pn.isMap,gn=pn&&pn.isRegExp,mn=pn&&pn.isSet,yn=pn&&pn.isTypedArray;function _n(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function bn(t,e,n,r){var i=-1,o=null==t?0:t.length;while(++i-1}function An(t,e,n){var r=-1,i=null==t?0:t.length;while(++r-1);return n}function Xn(t,e){var n=t.length;while(n--&&Dn(e,t[n],0)>-1);return n}function Yn(t,e){var n=t.length,r=0;while(n--)t[n]===e&&++r;return r}var tr=zn(Xe),er=zn(Ye);function nr(t){return"\\"+en[t]}function rr(t,e){return null==t?o:t[e]}function ir(t){return Ue.test(t)}function or(t){return We.test(t)}function ar(t){var e,n=[];while(!(e=t.next()).done)n.push(e.value);return n}function ur(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function sr(t,e){return function(n){return t(e(n))}}function cr(t,e){var n=-1,r=t.length,i=0,o=[];while(++n-1}function Fr(t,e){var n=this.__data__,r=si(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function Br(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e=e?t:e)),t}function vi(t,e,n,r,i,a){var u,s=e&d,c=e&h,l=e&v;if(n&&(u=i?n(t,r,i,a):n(t)),u!==o)return u;if(!xl(t))return t;var f=al(t);if(f){if(u=Ya(t),!s)return na(t,u)}else{var p=Ka(t),g=p==J||p==Z;if(fl(t))return Uo(t,s);if(p==et||p==H||g&&!i){if(u=c||g?{}:tu(t),!s)return c?oa(t,fi(u,t)):ia(t,li(u,t))}else{if(!Ze[p])return i?t:{};u=eu(t,p,s)}}a||(a=new Jr);var m=a.get(t);if(m)return m;a.set(t,u),Pl(t)?t.forEach((function(r){u.add(vi(r,e,n,r,t,a))})):$l(t)&&t.forEach((function(r,i){u.set(i,vi(r,e,n,i,t,a))}));var y=l?c?Ra:Da:c?xf:wf,_=f?o:y(t);return wn(_||t,(function(r,i){_&&(i=r,r=t[i]),ui(u,i,vi(r,e,n,i,t,a))})),u}function gi(t){var e=wf(t);return function(n){return mi(n,t,e)}}function mi(t,e,n){var r=n.length;if(null==t)return!r;t=ne(t);while(r--){var i=n[r],a=e[i],u=t[i];if(u===o&&!(i in t)||!a(u))return!1}return!0}function yi(t,e,n){if("function"!=typeof t)throw new oe(c);return Su((function(){t.apply(o,n)}),e)}function _i(t,e,n,r){var i=-1,o=On,a=!0,s=t.length,c=[],l=e.length;if(!s)return c;n&&(e=kn(e,Vn(n))),r?(o=An,a=!1):e.length>=u&&(o=Jn,a=!1,e=new Wr(e));t:while(++ii?0:i+n),r=r===o||r>i?i:Ul(r),r<0&&(r+=i),r=n>r?0:Wl(r);while(n0&&n(u)?e>1?Ai(u,e-1,n,r,i):Cn(i,u):r||(i[i.length]=u)}return i}var ki=ca(),Ci=ca(!0);function ji(t,e){return t&&ki(t,e,wf)}function Ti(t,e){return t&&Ci(t,e,wf)}function Mi(t,e){return $n(e,(function(e){return _l(t[e])}))}function Ei(t,e){e=zo(e,t);var n=0,r=e.length;while(null!=t&&ne}function Ni(t,e){return null!=t&&fe.call(t,e)}function Di(t,e){return null!=t&&e in ne(t)}function Ri(t,e,n){return t>=Be(e,n)&&t=120&&p.length>=120)?new Wr(s&&p):o}p=t[0];var d=-1,h=c[0];t:while(++d-1)u!==t&&Oe.call(u,s,1),Oe.call(t,s,1)}return t}function vo(t,e){var n=t?e.length:0,r=n-1;while(n--){var i=e[n];if(n==r||i!==o){var o=i;iu(i)?Oe.call(t,i,1):Io(t,i)}}return t}function go(t,e){return t+Ie(Ue()*(e-t+1))}function mo(t,e,r,i){var o=-1,a=Fe(Le((e-t)/(r||1)),0),u=n(a);while(a--)u[i?a:++o]=t,t+=r;return u}function yo(t,e){var n="";if(!t||e<1||e>N)return n;do{e%2&&(n+=t),e=Ie(e/2),e&&(t+=t)}while(e);return n}function _o(t,e){return $u(yu(t,e,jp),t+"")}function bo(t){return ri(Ff(t))}function wo(t,e){var n=Ff(t);return ku(n,hi(e,0,n.length))}function xo(t,e,n,r){if(!xl(t))return t;e=zo(e,t);var i=-1,a=e.length,u=a-1,s=t;while(null!=s&&++io?0:o+e),r=r>o?o:r,r<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;var a=n(o);while(++i>>1,a=t[o];null!==a&&!Dl(a)&&(n?a<=e:a=u){var l=e?null:ka(t);if(l)return lr(l);a=!1,i=Jn,c=new Wr}else c=e?[]:s;t:while(++r=r?t:Ao(t,e,n)}var Go=Te||function(t){return un.clearTimeout(t)};function Uo(t,e){if(e)return t.slice();var n=t.length,r=we?we(n):new t.constructor(n);return t.copy(r),r}function Wo(t){var e=new t.constructor(t.byteLength);return new be(e).set(new be(t)),e}function Vo(t,e){var n=e?Wo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ko(t){var e=new t.constructor(t.source,Ut.exec(t));return e.lastIndex=t.lastIndex,e}function Jo(t){return mr?ne(mr.call(t)):{}}function Zo(t,e){var n=e?Wo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Xo(t,e){if(t!==e){var n=t!==o,r=null===t,i=t===t,a=Dl(t),u=e!==o,s=null===e,c=e===e,l=Dl(e);if(!s&&!l&&!a&&t>e||a&&u&&c&&!s&&!l||r&&u&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&t=u)return s;var c=n[r];return s*("desc"==c?-1:1)}}return t.index-e.index}function ta(t,e,r,i){var o=-1,a=t.length,u=r.length,s=-1,c=e.length,l=Fe(a-u,0),f=n(c+l),p=!i;while(++s1?n[i-1]:o,u=i>2?n[2]:o;a=t.length>3&&"function"==typeof a?(i--,a):o,u&&ou(n[0],n[1],u)&&(a=i<3?o:a,i=1),e=ne(e);while(++r-1?i[a?e[u]:u]:o}}function ga(t){return Na((function(e){var n=e.length,r=n,i=$r.prototype.thru;t&&e.reverse();while(r--){var a=e[r];if("function"!=typeof a)throw new oe(c);if(i&&!u&&"wrapper"==Fa(a))var u=new $r([],!0)}r=u?r:n;while(++r1&&y.reverse(),p&&ls))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,p=!0,d=n&m?new Wr:o;a.set(t,e),a.set(e,t);while(++f1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ft,"{\n/* [wrapped with "+e+"] */\n")}function ru(t){return al(t)||ol(t)||!!(Ae&&t&&t[Ae])}function iu(t,e){var n=typeof t;return e=null==e?N:e,!!e&&("number"==n||"symbol"!=n&&Zt.test(t))&&t>-1&&t%1==0&&t0){if(++e>=T)return arguments[0]}else e=0;return t.apply(o,arguments)}}function ku(t,e){var n=-1,r=t.length,i=r-1;e=e===o?r:e;while(++n1?t[e-1]:o;return n="function"==typeof n?(t.pop(),n):o,Is(t,n)}));function Hs(t){var e=br(t);return e.__chain__=!0,e}function Qs(t,e){return e(t),t}function Gs(t,e){return e(t)}var Us=Na((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return di(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Or&&iu(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Gs,args:[i],thisArg:o}),new $r(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(o),t}))):this.thru(i)}));function Ws(){return Hs(this)}function Vs(){return new $r(this.value(),this.__chain__)}function Ks(){this.__values__===o&&(this.__values__=Ql(this.value()));var t=this.__index__>=this.__values__.length,e=t?o:this.__values__[this.__index__++];return{done:t,value:e}}function Js(){return this}function Zs(t){var e,n=this;while(n instanceof Sr){var r=Eu(n);r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function Xs(){var t=this.__wrapped__;if(t instanceof Or){var e=t;return this.__actions__.length&&(e=new Or(this)),e=e.reverse(),e.__actions__.push({func:Gs,args:[ps],thisArg:o}),new $r(e,this.__chain__)}return this.thru(ps)}function Ys(){return Do(this.__wrapped__,this.__actions__)}var tc=aa((function(t,e,n){fe.call(t,n)?++t[n]:pi(t,n,1)}));function ec(t,e,n){var r=al(t)?Sn:xi;return n&&ou(t,e,n)&&(e=o),r(t,za(e,3))}function nc(t,e){var n=al(t)?$n:Oi;return n(t,za(e,3))}var rc=va(Qu),ic=va(Gu);function oc(t,e){return Ai(hc(t,e),1)}function ac(t,e){return Ai(hc(t,e),P)}function uc(t,e,n){return n=n===o?1:Ul(n),Ai(hc(t,e),n)}function sc(t,e){var n=al(t)?wn:bi;return n(t,za(e,3))}function cc(t,e){var n=al(t)?xn:wi;return n(t,za(e,3))}var lc=aa((function(t,e,n){fe.call(t,n)?t[n].push(e):pi(t,n,[e])}));function fc(t,e,n,r){t=sl(t)?t:Ff(t),n=n&&!r?Ul(n):0;var i=t.length;return n<0&&(n=Fe(i+n,0)),Nl(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Dn(t,e,n)>-1}var pc=_o((function(t,e,r){var i=-1,o="function"==typeof e,a=sl(t)?n(t.length):[];return bi(t,(function(t){a[++i]=o?_n(e,t,r):Bi(t,e,r)})),a})),dc=aa((function(t,e,n){pi(t,n,e)}));function hc(t,e){var n=al(t)?kn:ro;return n(t,za(e,3))}function vc(t,e,n,r){return null==t?[]:(al(e)||(e=null==e?[]:[e]),n=r?o:n,al(n)||(n=null==n?[]:[n]),co(t,e,n))}var gc=aa((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]}));function mc(t,e,n){var r=al(t)?jn:Hn,i=arguments.length<3;return r(t,za(e,4),n,i,bi)}function yc(t,e,n){var r=al(t)?Tn:Hn,i=arguments.length<3;return r(t,za(e,4),n,i,wi)}function _c(t,e){var n=al(t)?$n:Oi;return n(t,qc(za(e,3)))}function bc(t){var e=al(t)?ri:bo;return e(t)}function wc(t,e,n){e=(n?ou(t,e,n):e===o)?1:Ul(e);var r=al(t)?ii:wo;return r(t,e)}function xc(t){var e=al(t)?oi:Oo;return e(t)}function Sc(t){if(null==t)return 0;if(sl(t))return Nl(t)?hr(t):t.length;var e=Ka(t);return e==X||e==ot?t.size:to(t).length}function $c(t,e,n){var r=al(t)?Mn:ko;return n&&ou(t,e,n)&&(e=o),r(t,za(e,3))}var Oc=_o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&ou(t,e[0],e[1])?e=[]:n>2&&ou(e[0],e[1],e[2])&&(e=[e[0]]),co(t,Ai(e,1),[])})),Ac=Me||function(){return un.Date.now()};function kc(t,e){if("function"!=typeof e)throw new oe(c);return t=Ul(t),function(){if(--t<1)return e.apply(this,arguments)}}function Cc(t,e,n){return e=n?o:e,e=t&&null==e?t.length:e,ja(t,O,o,o,o,o,e)}function jc(t,e){var n;if("function"!=typeof e)throw new oe(c);return t=Ul(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=o),n}}var Tc=_o((function(t,e,n){var r=y;if(n.length){var i=cr(n,Ba(Tc));r|=S}return ja(t,r,e,n,i)})),Mc=_o((function(t,e,n){var r=y|_;if(n.length){var i=cr(n,Ba(Mc));r|=S}return ja(e,r,t,n,i)}));function Ec(t,e,n){e=n?o:e;var r=ja(t,w,o,o,o,o,o,e);return r.placeholder=Ec.placeholder,r}function Lc(t,e,n){e=n?o:e;var r=ja(t,x,o,o,o,o,o,e);return r.placeholder=Lc.placeholder,r}function Ic(t,e,n){var r,i,a,u,s,l,f=0,p=!1,d=!1,h=!0;if("function"!=typeof t)throw new oe(c);function v(e){var n=r,a=i;return r=i=o,f=e,u=t.apply(a,n),u}function g(t){return f=t,s=Su(_,e),p?v(t):u}function m(t){var n=t-l,r=t-f,i=e-n;return d?Be(i,a-r):i}function y(t){var n=t-l,r=t-f;return l===o||n>=e||n<0||d&&r>=a}function _(){var t=Ac();if(y(t))return b(t);s=Su(_,m(t))}function b(t){return s=o,h&&r?v(t):(r=i=o,u)}function w(){s!==o&&Go(s),f=0,r=l=i=s=o}function x(){return s===o?u:b(Ac())}function S(){var t=Ac(),n=y(t);if(r=arguments,i=this,l=t,n){if(s===o)return g(l);if(d)return Go(s),s=Su(_,e),v(l)}return s===o&&(s=Su(_,e)),u}return e=Vl(e)||0,xl(n)&&(p=!!n.leading,d="maxWait"in n,a=d?Fe(Vl(n.maxWait)||0,e):a,h="trailing"in n?!!n.trailing:h),S.cancel=w,S.flush=x,S}var Pc=_o((function(t,e){return yi(t,1,e)})),Nc=_o((function(t,e,n){return yi(t,Vl(e)||0,n)}));function Dc(t){return ja(t,k)}function Rc(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new oe(c);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Rc.Cache||Br),n}function qc(t){if("function"!=typeof t)throw new oe(c);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Fc(t){return jc(2,t)}Rc.Cache=Br;var Bc=Ho((function(t,e){e=1==e.length&&al(e[0])?kn(e[0],Vn(za())):kn(Ai(e,1),Vn(za()));var n=e.length;return _o((function(r){var i=-1,o=Be(r.length,n);while(++i=e})),ol=zi(function(){return arguments}())?zi:function(t){return Sl(t)&&fe.call(t,"callee")&&!$e.call(t,"callee")},al=n.isArray,ul=dn?Vn(dn):Hi;function sl(t){return null!=t&&wl(t.length)&&!_l(t)}function cl(t){return Sl(t)&&sl(t)}function ll(t){return!0===t||!1===t||Sl(t)&&Ii(t)==U}var fl=Ne||Wp,pl=hn?Vn(hn):Qi;function dl(t){return Sl(t)&&1===t.nodeType&&!El(t)}function hl(t){if(null==t)return!0;if(sl(t)&&(al(t)||"string"==typeof t||"function"==typeof t.splice||fl(t)||Rl(t)||ol(t)))return!t.length;var e=Ka(t);if(e==X||e==ot)return!t.size;if(fu(t))return!to(t).length;for(var n in t)if(fe.call(t,n))return!1;return!0}function vl(t,e){return Gi(t,e)}function gl(t,e,n){n="function"==typeof n?n:o;var r=n?n(t,e):o;return r===o?Gi(t,e,o,n):!!r}function ml(t){if(!Sl(t))return!1;var e=Ii(t);return e==K||e==V||"string"==typeof t.message&&"string"==typeof t.name&&!El(t)}function yl(t){return"number"==typeof t&&De(t)}function _l(t){if(!xl(t))return!1;var e=Ii(t);return e==J||e==Z||e==G||e==rt}function bl(t){return"number"==typeof t&&t==Ul(t)}function wl(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=N}function xl(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Sl(t){return null!=t&&"object"==typeof t}var $l=vn?Vn(vn):Wi;function Ol(t,e){return t===e||Vi(t,e,Qa(e))}function Al(t,e,n){return n="function"==typeof n?n:o,Vi(t,e,Qa(e),n)}function kl(t){return Ml(t)&&t!=+t}function Cl(t){if(lu(t))throw new i(s);return Ki(t)}function jl(t){return null===t}function Tl(t){return null==t}function Ml(t){return"number"==typeof t||Sl(t)&&Ii(t)==Y}function El(t){if(!Sl(t)||Ii(t)!=et)return!1;var e=xe(t);if(null===e)return!0;var n=fe.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&le.call(n)==ve}var Ll=gn?Vn(gn):Ji;function Il(t){return bl(t)&&t>=-N&&t<=N}var Pl=mn?Vn(mn):Zi;function Nl(t){return"string"==typeof t||!al(t)&&Sl(t)&&Ii(t)==at}function Dl(t){return"symbol"==typeof t||Sl(t)&&Ii(t)==ut}var Rl=yn?Vn(yn):Xi;function ql(t){return t===o}function Fl(t){return Sl(t)&&Ka(t)==ct}function Bl(t){return Sl(t)&&Ii(t)==lt}var zl=$a(no),Hl=$a((function(t,e){return t<=e}));function Ql(t){if(!t)return[];if(sl(t))return Nl(t)?vr(t):na(t);if(ke&&t[ke])return ar(t[ke]());var e=Ka(t),n=e==X?ur:e==ot?lr:Ff;return n(t)}function Gl(t){if(!t)return 0===t?t:0;if(t=Vl(t),t===P||t===-P){var e=t<0?-1:1;return e*D}return t===t?t:0}function Ul(t){var e=Gl(t),n=e%1;return e===e?n?e-n:e:0}function Wl(t){return t?hi(Ul(t),0,q):0}function Vl(t){if("number"==typeof t)return t;if(Dl(t))return R;if(xl(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=xl(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Dt,"");var n=Vt.test(t);return n||Jt.test(t)?rn(t.slice(2),n?2:8):Wt.test(t)?R:+t}function Kl(t){return ra(t,xf(t))}function Jl(t){return t?hi(Ul(t),-N,N):0===t?t:0}function Zl(t){return null==t?"":Eo(t)}var Xl=ua((function(t,e){if(fu(e)||sl(e))ra(e,wf(e),t);else for(var n in e)fe.call(e,n)&&ui(t,n,e[n])})),Yl=ua((function(t,e){ra(e,xf(e),t)})),tf=ua((function(t,e,n,r){ra(e,xf(e),t,r)})),ef=ua((function(t,e,n,r){ra(e,wf(e),t,r)})),nf=Na(di);function rf(t,e){var n=xr(t);return null==e?n:li(n,e)}var of=_o((function(t,e){t=ne(t);var n=-1,r=e.length,i=r>2?e[2]:o;i&&ou(e[0],e[1],i)&&(r=1);while(++n1),e})),ra(t,Ra(t),n),r&&(n=vi(n,d|h|v,Ea));var i=e.length;while(i--)Io(n,e[i]);return n}));function Cf(t,e){return Tf(t,qc(za(e)))}var jf=Na((function(t,e){return null==t?{}:lo(t,e)}));function Tf(t,e){if(null==t)return{};var n=kn(Ra(t),(function(t){return[t]}));return e=za(e),fo(t,n,(function(t,n){return e(t,n[0])}))}function Mf(t,e,n){e=zo(e,t);var r=-1,i=e.length;i||(i=1,t=o);while(++re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Ue();return Be(t+i*(e-t+nn("1e-"+((i+"").length-1))),e)}return go(t,e)}var Gf=pa((function(t,e,n){return e=e.toLowerCase(),t+(n?Uf(e):e)}));function Uf(t){return _p(Zl(t).toLowerCase())}function Wf(t){return t=Zl(t),t&&t.replace(Xt,tr).replace(He,"")}function Vf(t,e,n){t=Zl(t),e=Eo(e);var r=t.length;n=n===o?r:hi(Ul(n),0,r);var i=n;return n-=e.length,n>=0&&t.slice(n,i)==e}function Kf(t){return t=Zl(t),t&&Ct.test(t)?t.replace(At,er):t}function Jf(t){return t=Zl(t),t&&Nt.test(t)?t.replace(Pt,"\\$&"):t}var Zf=pa((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Xf=pa((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Yf=fa("toLowerCase");function tp(t,e,n){t=Zl(t),e=Ul(e);var r=e?hr(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return wa(Ie(i),n)+t+wa(Le(i),n)}function ep(t,e,n){t=Zl(t),e=Ul(e);var r=e?hr(t):0;return e&&r>>0,n?(t=Zl(t),t&&("string"==typeof e||null!=e&&!Ll(e))&&(e=Eo(e),!e&&ir(t))?Qo(vr(t),0,n):t.split(e,n)):[]}var sp=pa((function(t,e,n){return t+(n?" ":"")+_p(e)}));function cp(t,e,n){return t=Zl(t),n=null==n?0:hi(Ul(n),0,t.length),e=Eo(e),t.slice(n,n+e.length)==e}function lp(t,e,n){var r=br.templateSettings;n&&ou(t,e,n)&&(e=o),t=Zl(t),e=tf({},e,r,Ta);var i,a,u=tf({},e.imports,r.imports,Ta),s=wf(u),c=Kn(u,s),l=0,f=e.interpolate||Yt,p="__p += '",d=re((e.escape||Yt).source+"|"+f.source+"|"+(f===Mt?Gt:Yt).source+"|"+(e.evaluate||Yt).source+"|$","g"),h="//# sourceURL="+(fe.call(e,"sourceURL")?(e.sourceURL+"").replace(/[\r\n]/g," "):"lodash.templateSources["+ ++Ke+"]")+"\n";t.replace(d,(function(e,n,r,o,u,s){return r||(r=o),p+=t.slice(l,s).replace(te,nr),n&&(i=!0,p+="' +\n__e("+n+") +\n'"),u&&(a=!0,p+="';\n"+u+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+e.length,e})),p+="';\n";var v=fe.call(e,"variable")&&e.variable;v||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(xt,""):p).replace(St,"$1").replace($t,"$1;"),p="function("+(v||"obj")+") {\n"+(v?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=wp((function(){return Ht(s,h+"return "+p).apply(o,c)}));if(g.source=p,ml(g))throw g;return g}function fp(t){return Zl(t).toLowerCase()}function pp(t){return Zl(t).toUpperCase()}function dp(t,e,n){if(t=Zl(t),t&&(n||e===o))return t.replace(Dt,"");if(!t||!(e=Eo(e)))return t;var r=vr(t),i=vr(e),a=Zn(r,i),u=Xn(r,i)+1;return Qo(r,a,u).join("")}function hp(t,e,n){if(t=Zl(t),t&&(n||e===o))return t.replace(qt,"");if(!t||!(e=Eo(e)))return t;var r=vr(t),i=Xn(r,vr(e))+1;return Qo(r,0,i).join("")}function vp(t,e,n){if(t=Zl(t),t&&(n||e===o))return t.replace(Rt,"");if(!t||!(e=Eo(e)))return t;var r=vr(t),i=Zn(r,vr(e));return Qo(r,i).join("")}function gp(t,e){var n=C,r=j;if(xl(e)){var i="separator"in e?e.separator:i;n="length"in e?Ul(e.length):n,r="omission"in e?Eo(e.omission):r}t=Zl(t);var a=t.length;if(ir(t)){var u=vr(t);a=u.length}if(n>=a)return t;var s=n-hr(r);if(s<1)return r;var c=u?Qo(u,0,s).join(""):t.slice(0,s);if(i===o)return c+r;if(u&&(s+=c.length-s),Ll(i)){if(t.slice(s).search(i)){var l,f=c;i.global||(i=re(i.source,Zl(Ut.exec(i))+"g")),i.lastIndex=0;while(l=i.exec(f))var p=l.index;c=c.slice(0,p===o?s:p)}}else if(t.indexOf(Eo(i),s)!=s){var d=c.lastIndexOf(i);d>-1&&(c=c.slice(0,d))}return c+r}function mp(t){return t=Zl(t),t&&kt.test(t)?t.replace(Ot,gr):t}var yp=pa((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),_p=fa("toUpperCase");function bp(t,e,n){return t=Zl(t),e=n?o:e,e===o?or(t)?_r(t):In(t):t.match(e)||[]}var wp=_o((function(t,e){try{return _n(t,o,e)}catch(n){return ml(n)?n:new i(n)}})),xp=Na((function(t,e){return wn(e,(function(e){e=ju(e),pi(t,e,Tc(t[e],t))})),t}));function Sp(t){var e=null==t?0:t.length,n=za();return t=e?kn(t,(function(t){if("function"!=typeof t[1])throw new oe(c);return[n(t[0]),t[1]]})):[],_o((function(n){var r=-1;while(++rN)return[];var n=q,r=Be(t,q);e=za(e),t-=q;var i=Un(r,e);while(++n0||e<0)?new Or(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==o&&(e=Ul(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},Or.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Or.prototype.toArray=function(){return this.take(q)},ji(Or.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=br[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);i&&(br.prototype[e]=function(){var e=this.__wrapped__,u=r?[1]:arguments,s=e instanceof Or,c=u[0],l=s||al(e),f=function(t){var e=i.apply(br,Cn([t],u));return r&&p?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(s=l=!1);var p=this.__chain__,d=!!this.__actions__.length,h=a&&!p,v=s&&!d;if(!a&&l){e=v?e:new Or(this);var g=t.apply(e,u);return g.__actions__.push({func:Gs,args:[f],thisArg:o}),new $r(g,p)}return h&&v?t.apply(this,u):(g=this.thru(f),h?r?g.value()[0]:g.value():g)})})),wn(["pop","push","shift","sort","splice","unshift"],(function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);br.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(al(i)?i:[],t)}return this[n]((function(n){return e.apply(al(n)?n:[],t)}))}})),ji(Or.prototype,(function(t,e){var n=br[e];if(n){var r=n.name+"";fe.call(cn,r)||(cn[r]=[]),cn[r].push({name:e,func:n})}})),cn[ma(o,_).name]=[{name:"wrapper",func:o}],Or.prototype.clone=Ar,Or.prototype.reverse=kr,Or.prototype.value=Cr,br.prototype.at=Us,br.prototype.chain=Ws,br.prototype.commit=Vs,br.prototype.next=Ks,br.prototype.plant=Zs,br.prototype.reverse=Xs,br.prototype.toJSON=br.prototype.valueOf=br.prototype.value=Ys,br.prototype.first=br.prototype.head,ke&&(br.prototype[ke]=Js),br},wr=br();un._=wr,i=function(){return wr}.call(e,n,e,r),i===o||(r.exports=i)}).call(this)}).call(this,n("c8ba"),n("62e4")(t))},"30f1":function(t,e,n){"use strict";var r=n("b8e3"),i=n("63b6"),o=n("9138"),a=n("35e8"),u=n("481b"),s=n("8f60"),c=n("45f2"),l=n("53e2"),f=n("5168")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",h="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,y,_,b){s(n,e,m);var w,x,S,$=function(t){if(!p&&t in C)return C[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",A=y==v,k=!1,C=t.prototype,j=C[f]||C[d]||y&&C[y],T=j||$(y),M=y?A?$("entries"):T:void 0,E="Array"==e&&C.entries||j;if(E&&(S=l(E.call(new t)),S!==Object.prototype&&S.next&&(c(S,O,!0),r||"function"==typeof S[f]||a(S,f,g))),A&&j&&j.name!==v&&(k=!0,T=function(){return j.call(this)}),r&&!b||!p&&!k&&C[f]||a(C,f,T),u[e]=T,u[O]=g,y)if(w={values:A?T:$(v),keys:_?T:$(h),entries:M},b)for(x in w)x in C||o(C,x,w[x]);else i(i.P+i.F*(p||k),e,w);return w}},"31f4":function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"32fc":function(t,e,n){var r=n("e53d").document;t.exports=r&&r.documentElement},"335c":function(t,e,n){var r=n("6b4c");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"33a4":function(t,e,n){var r=n("84f2"),i=n("2b4c")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"36c3":function(t,e,n){var r=n("335c"),i=n("25eb");t.exports=function(t){return r(i(t))}},3702:function(t,e,n){var r=n("481b"),i=n("5168")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},3846:function(t,e,n){n("9e1e")&&"g"!=/./g.flags&&n("86cc").f(RegExp.prototype,"flags",{configurable:!0,get:n("0bfb")})},"386b":function(t,e,n){var r=n("5ca1"),i=n("79e5"),o=n("be13"),a=/"/g,u=function(t,e,n,r){var i=String(o(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+i+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*i((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3})),"String",n)}},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"3a38":function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"3b2b":function(t,e,n){var r=n("7726"),i=n("5dbc"),o=n("86cc").f,a=n("9093").f,u=n("aae3"),s=n("0bfb"),c=r.RegExp,l=c,f=c.prototype,p=/a/g,d=/a/g,h=new c(p)!==p;if(n("9e1e")&&(!h||n("79e5")((function(){return d[n("2b4c")("match")]=!1,c(p)!=p||c(d)==d||"/a/i"!=c(p,"i")})))){c=function(t,e){var n=this instanceof c,r=u(t),o=void 0===e;return!n&&r&&t.constructor===c&&o?t:i(h?new l(r&&!o?t.source:t,e):l((r=t instanceof c)?t.source:t,r&&o?s.call(t):e),n?this:f,c)};for(var v=function(t){t in c||o(c,t,{configurable:!0,get:function(){return l[t]},set:function(e){l[t]=e}})},g=a(l),m=0;g.length>m;)v(g[m++]);f.constructor=c,c.prototype=f,n("2aba")(r,"RegExp",c)}n("7a56")("RegExp")},"40c3":function(t,e,n){var r=n("6b4c"),i=n("5168")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"45f2":function(t,e,n){var r=n("d9f6").f,i=n("07e3"),o=n("5168")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},"481b":function(t,e){t.exports={}},"4a59":function(t,e,n){var r=n("9b43"),i=n("1fa8"),o=n("33a4"),a=n("cb7c"),u=n("9def"),s=n("27ee"),c={},l={};e=t.exports=function(t,e,n,f,p){var d,h,v,g,m=p?function(){return t}:s(t),y=r(n,f,e?2:1),_=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(o(m)){for(d=u(t.length);d>_;_++)if(g=e?y(a(h=t[_])[0],h[1]):y(t[_]),g===c||g===l)return g}else for(v=m.call(t);!(h=v.next()).done;)if(g=i(v,y,h.value,e),g===c||g===l)return g};e.BREAK=c,e.RETURN=l},"4bf8":function(t,e,n){var r=n("be13");t.exports=function(t){return Object(r(t))}},"4ee1":function(t,e,n){var r=n("5168")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},t(o)}catch(a){}return n}},"4fe9":function(t,e,n){},"50ed":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},5147:function(t,e,n){var r=n("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},5168:function(t,e,n){var r=n("dbdb")("wks"),i=n("62a0"),o=n("e53d").Symbol,a="function"==typeof o,u=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};u.store=r},"520a":function(t,e,n){"use strict";var r=n("0bfb"),i=RegExp.prototype.exec,o=String.prototype.replace,a=i,u="lastIndex",s=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[u]||0!==e[u]}(),c=void 0!==/()??/.exec("")[1],l=s||c;l&&(a=function(t){var e,n,a,l,f=this;return c&&(n=new RegExp("^"+f.source+"$(?!\\s)",r.call(f))),s&&(e=f[u]),a=i.call(f,t),s&&a&&(f[u]=f.global?a.index+a[0].length:e),c&&a&&a.length>1&&o.call(a[0],n,(function(){for(l=1;l>>1,z=[["ary",O],["bind",y],["bindKey",_],["curry",w],["curryRight",x],["flip",k],["partial",S],["partialRight",$],["rearg",A]],H="[object Arguments]",Q="[object Array]",G="[object AsyncFunction]",U="[object Boolean]",W="[object Date]",V="[object DOMException]",K="[object Error]",J="[object Function]",Z="[object GeneratorFunction]",X="[object Map]",Y="[object Number]",tt="[object Null]",et="[object Object]",nt="[object Promise]",rt="[object Proxy]",it="[object RegExp]",ot="[object Set]",at="[object String]",ut="[object Symbol]",st="[object Undefined]",ct="[object WeakMap]",lt="[object WeakSet]",ft="[object ArrayBuffer]",pt="[object DataView]",dt="[object Float32Array]",ht="[object Float64Array]",vt="[object Int8Array]",gt="[object Int16Array]",mt="[object Int32Array]",yt="[object Uint8Array]",_t="[object Uint8ClampedArray]",bt="[object Uint16Array]",wt="[object Uint32Array]",xt=/\b__p \+= '';/g,St=/\b(__p \+=) '' \+/g,$t=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ot=/&(?:amp|lt|gt|quot|#39);/g,At=/[&<>"']/g,kt=RegExp(Ot.source),Ct=RegExp(At.source),jt=/<%-([\s\S]+?)%>/g,Tt=/<%([\s\S]+?)%>/g,Mt=/<%=([\s\S]+?)%>/g,Et=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lt=/^\w*$/,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pt=/[\\^$.*+?()[\]{}|]/g,Nt=RegExp(Pt.source),Dt=/^\s+|\s+$/g,Rt=/^\s+/,qt=/\s+$/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,zt=/,? & /,Ht=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Qt=/\\(\\)?/g,Gt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ut=/\w*$/,Wt=/^[-+]0x[0-9a-f]+$/i,Vt=/^0b[01]+$/i,Kt=/^\[object .+?Constructor\]$/,Jt=/^0o[0-7]+$/i,Zt=/^(?:0|[1-9]\d*)$/,Xt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Yt=/($^)/,te=/['\n\r\u2028\u2029\\]/g,ee="\\ud800-\\udfff",ne="\\u0300-\\u036f",re="\\ufe20-\\ufe2f",ie="\\u20d0-\\u20ff",oe=ne+re+ie,ae="\\u2700-\\u27bf",ue="a-z\\xdf-\\xf6\\xf8-\\xff",se="\\xac\\xb1\\xd7\\xf7",ce="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",le="\\u2000-\\u206f",fe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="A-Z\\xc0-\\xd6\\xd8-\\xde",de="\\ufe0e\\ufe0f",he=se+ce+le+fe,ve="['’]",ge="["+ee+"]",me="["+he+"]",ye="["+oe+"]",_e="\\d+",be="["+ae+"]",we="["+ue+"]",xe="[^"+ee+he+_e+ae+ue+pe+"]",Se="\\ud83c[\\udffb-\\udfff]",$e="(?:"+ye+"|"+Se+")",Oe="[^"+ee+"]",Ae="(?:\\ud83c[\\udde6-\\uddff]){2}",ke="[\\ud800-\\udbff][\\udc00-\\udfff]",Ce="["+pe+"]",je="\\u200d",Te="(?:"+we+"|"+xe+")",Me="(?:"+Ce+"|"+xe+")",Ee="(?:"+ve+"(?:d|ll|m|re|s|t|ve))?",Le="(?:"+ve+"(?:D|LL|M|RE|S|T|VE))?",Ie=$e+"?",Pe="["+de+"]?",Ne="(?:"+je+"(?:"+[Oe,Ae,ke].join("|")+")"+Pe+Ie+")*",De="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Re="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",qe=Pe+Ie+Ne,Fe="(?:"+[be,Ae,ke].join("|")+")"+qe,Be="(?:"+[Oe+ye+"?",ye,Ae,ke,ge].join("|")+")",ze=RegExp(ve,"g"),He=RegExp(ye,"g"),Qe=RegExp(Se+"(?="+Se+")|"+Be+qe,"g"),Ge=RegExp([Ce+"?"+we+"+"+Ee+"(?="+[me,Ce,"$"].join("|")+")",Me+"+"+Le+"(?="+[me,Ce+Te,"$"].join("|")+")",Ce+"?"+Te+"+"+Ee,Ce+"+"+Le,Re,De,_e,Fe].join("|"),"g"),Ue=RegExp("["+je+ee+oe+de+"]"),We=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ve=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ke=-1,Je={};Je[dt]=Je[ht]=Je[vt]=Je[gt]=Je[mt]=Je[yt]=Je[_t]=Je[bt]=Je[wt]=!0,Je[H]=Je[Q]=Je[ft]=Je[U]=Je[pt]=Je[W]=Je[K]=Je[J]=Je[X]=Je[Y]=Je[et]=Je[it]=Je[ot]=Je[at]=Je[ct]=!1;var Ze={};Ze[H]=Ze[Q]=Ze[ft]=Ze[pt]=Ze[U]=Ze[W]=Ze[dt]=Ze[ht]=Ze[vt]=Ze[gt]=Ze[mt]=Ze[X]=Ze[Y]=Ze[et]=Ze[it]=Ze[ot]=Ze[at]=Ze[ut]=Ze[yt]=Ze[_t]=Ze[bt]=Ze[wt]=!0,Ze[K]=Ze[J]=Ze[ct]=!1;var Xe={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},Ye={"&":"&","<":"<",">":">",'"':""","'":"'"},tn={"&":"&","<":"<",">":">",""":'"',"'":"'"},en={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},nn=parseFloat,rn=parseInt,on="object"==typeof t&&t&&t.Object===Object&&t,an="object"==typeof self&&self&&self.Object===Object&&self,un=on||an||Function("return this")(),sn=e&&!e.nodeType&&e,cn=sn&&"object"==typeof r&&r&&!r.nodeType&&r,ln=cn&&cn.exports===sn,fn=ln&&on.process,pn=function(){try{var t=cn&&cn.require&&cn.require("util").types;return t||fn&&fn.binding&&fn.binding("util")}catch(e){}}(),dn=pn&&pn.isArrayBuffer,hn=pn&&pn.isDate,vn=pn&&pn.isMap,gn=pn&&pn.isRegExp,mn=pn&&pn.isSet,yn=pn&&pn.isTypedArray;function _n(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function bn(t,e,n,r){var i=-1,o=null==t?0:t.length;while(++i-1}function An(t,e,n){var r=-1,i=null==t?0:t.length;while(++r-1);return n}function Xn(t,e){var n=t.length;while(n--&&Dn(e,t[n],0)>-1);return n}function Yn(t,e){var n=t.length,r=0;while(n--)t[n]===e&&++r;return r}var tr=zn(Xe),er=zn(Ye);function nr(t){return"\\"+en[t]}function rr(t,e){return null==t?o:t[e]}function ir(t){return Ue.test(t)}function or(t){return We.test(t)}function ar(t){var e,n=[];while(!(e=t.next()).done)n.push(e.value);return n}function ur(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function sr(t,e){return function(n){return t(e(n))}}function cr(t,e){var n=-1,r=t.length,i=0,o=[];while(++n-1}function Fr(t,e){var n=this.__data__,r=si(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function Br(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e=e?t:e)),t}function vi(t,e,n,r,i,a){var u,s=e&d,c=e&h,l=e&v;if(n&&(u=i?n(t,r,i,a):n(t)),u!==o)return u;if(!xl(t))return t;var f=al(t);if(f){if(u=Ya(t),!s)return na(t,u)}else{var p=Ka(t),g=p==J||p==Z;if(fl(t))return Uo(t,s);if(p==et||p==H||g&&!i){if(u=c||g?{}:tu(t),!s)return c?oa(t,fi(u,t)):ia(t,li(u,t))}else{if(!Ze[p])return i?t:{};u=eu(t,p,s)}}a||(a=new Jr);var m=a.get(t);if(m)return m;a.set(t,u),Pl(t)?t.forEach((function(r){u.add(vi(r,e,n,r,t,a))})):$l(t)&&t.forEach((function(r,i){u.set(i,vi(r,e,n,i,t,a))}));var y=l?c?Ra:Da:c?xf:wf,_=f?o:y(t);return wn(_||t,(function(r,i){_&&(i=r,r=t[i]),ui(u,i,vi(r,e,n,i,t,a))})),u}function gi(t){var e=wf(t);return function(n){return mi(n,t,e)}}function mi(t,e,n){var r=n.length;if(null==t)return!r;t=ne(t);while(r--){var i=n[r],a=e[i],u=t[i];if(u===o&&!(i in t)||!a(u))return!1}return!0}function yi(t,e,n){if("function"!=typeof t)throw new oe(c);return Su((function(){t.apply(o,n)}),e)}function _i(t,e,n,r){var i=-1,o=On,a=!0,s=t.length,c=[],l=e.length;if(!s)return c;n&&(e=kn(e,Vn(n))),r?(o=An,a=!1):e.length>=u&&(o=Jn,a=!1,e=new Wr(e));t:while(++ii?0:i+n),r=r===o||r>i?i:Ul(r),r<0&&(r+=i),r=n>r?0:Wl(r);while(n0&&n(u)?e>1?Ai(u,e-1,n,r,i):Cn(i,u):r||(i[i.length]=u)}return i}var ki=ca(),Ci=ca(!0);function ji(t,e){return t&&ki(t,e,wf)}function Ti(t,e){return t&&Ci(t,e,wf)}function Mi(t,e){return $n(e,(function(e){return _l(t[e])}))}function Ei(t,e){e=zo(e,t);var n=0,r=e.length;while(null!=t&&ne}function Ni(t,e){return null!=t&&fe.call(t,e)}function Di(t,e){return null!=t&&e in ne(t)}function Ri(t,e,n){return t>=Be(e,n)&&t=120&&p.length>=120)?new Wr(s&&p):o}p=t[0];var d=-1,h=c[0];t:while(++d-1)u!==t&&Oe.call(u,s,1),Oe.call(t,s,1)}return t}function vo(t,e){var n=t?e.length:0,r=n-1;while(n--){var i=e[n];if(n==r||i!==o){var o=i;iu(i)?Oe.call(t,i,1):Io(t,i)}}return t}function go(t,e){return t+Ie(Ue()*(e-t+1))}function mo(t,e,r,i){var o=-1,a=Fe(Le((e-t)/(r||1)),0),u=n(a);while(a--)u[i?a:++o]=t,t+=r;return u}function yo(t,e){var n="";if(!t||e<1||e>N)return n;do{e%2&&(n+=t),e=Ie(e/2),e&&(t+=t)}while(e);return n}function _o(t,e){return $u(yu(t,e,jp),t+"")}function bo(t){return ri(Ff(t))}function wo(t,e){var n=Ff(t);return ku(n,hi(e,0,n.length))}function xo(t,e,n,r){if(!xl(t))return t;e=zo(e,t);var i=-1,a=e.length,u=a-1,s=t;while(null!=s&&++io?0:o+e),r=r>o?o:r,r<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;var a=n(o);while(++i>>1,a=t[o];null!==a&&!Dl(a)&&(n?a<=e:a=u){var l=e?null:ka(t);if(l)return lr(l);a=!1,i=Jn,c=new Wr}else c=e?[]:s;t:while(++r=r?t:Ao(t,e,n)}var Go=Te||function(t){return un.clearTimeout(t)};function Uo(t,e){if(e)return t.slice();var n=t.length,r=we?we(n):new t.constructor(n);return t.copy(r),r}function Wo(t){var e=new t.constructor(t.byteLength);return new be(e).set(new be(t)),e}function Vo(t,e){var n=e?Wo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ko(t){var e=new t.constructor(t.source,Ut.exec(t));return e.lastIndex=t.lastIndex,e}function Jo(t){return mr?ne(mr.call(t)):{}}function Zo(t,e){var n=e?Wo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Xo(t,e){if(t!==e){var n=t!==o,r=null===t,i=t===t,a=Dl(t),u=e!==o,s=null===e,c=e===e,l=Dl(e);if(!s&&!l&&!a&&t>e||a&&u&&c&&!s&&!l||r&&u&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&t=u)return s;var c=n[r];return s*("desc"==c?-1:1)}}return t.index-e.index}function ta(t,e,r,i){var o=-1,a=t.length,u=r.length,s=-1,c=e.length,l=Fe(a-u,0),f=n(c+l),p=!i;while(++s1?n[i-1]:o,u=i>2?n[2]:o;a=t.length>3&&"function"==typeof a?(i--,a):o,u&&ou(n[0],n[1],u)&&(a=i<3?o:a,i=1),e=ne(e);while(++r-1?i[a?e[u]:u]:o}}function ga(t){return Na((function(e){var n=e.length,r=n,i=$r.prototype.thru;t&&e.reverse();while(r--){var a=e[r];if("function"!=typeof a)throw new oe(c);if(i&&!u&&"wrapper"==Fa(a))var u=new $r([],!0)}r=u?r:n;while(++r1&&y.reverse(),p&&ls))return!1;var l=a.get(t);if(l&&a.get(e))return l==e;var f=-1,p=!0,d=n&m?new Wr:o;a.set(t,e),a.set(e,t);while(++f1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ft,"{\n/* [wrapped with "+e+"] */\n")}function ru(t){return al(t)||ol(t)||!!(Ae&&t&&t[Ae])}function iu(t,e){var n=typeof t;return e=null==e?N:e,!!e&&("number"==n||"symbol"!=n&&Zt.test(t))&&t>-1&&t%1==0&&t0){if(++e>=T)return arguments[0]}else e=0;return t.apply(o,arguments)}}function ku(t,e){var n=-1,r=t.length,i=r-1;e=e===o?r:e;while(++n1?t[e-1]:o;return n="function"==typeof n?(t.pop(),n):o,Is(t,n)}));function Hs(t){var e=br(t);return e.__chain__=!0,e}function Qs(t,e){return e(t),t}function Gs(t,e){return e(t)}var Us=Na((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return di(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Or&&iu(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Gs,args:[i],thisArg:o}),new $r(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(o),t}))):this.thru(i)}));function Ws(){return Hs(this)}function Vs(){return new $r(this.value(),this.__chain__)}function Ks(){this.__values__===o&&(this.__values__=Ql(this.value()));var t=this.__index__>=this.__values__.length,e=t?o:this.__values__[this.__index__++];return{done:t,value:e}}function Js(){return this}function Zs(t){var e,n=this;while(n instanceof Sr){var r=Eu(n);r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function Xs(){var t=this.__wrapped__;if(t instanceof Or){var e=t;return this.__actions__.length&&(e=new Or(this)),e=e.reverse(),e.__actions__.push({func:Gs,args:[ps],thisArg:o}),new $r(e,this.__chain__)}return this.thru(ps)}function Ys(){return Do(this.__wrapped__,this.__actions__)}var tc=aa((function(t,e,n){fe.call(t,n)?++t[n]:pi(t,n,1)}));function ec(t,e,n){var r=al(t)?Sn:xi;return n&&ou(t,e,n)&&(e=o),r(t,za(e,3))}function nc(t,e){var n=al(t)?$n:Oi;return n(t,za(e,3))}var rc=va(Qu),ic=va(Gu);function oc(t,e){return Ai(hc(t,e),1)}function ac(t,e){return Ai(hc(t,e),P)}function uc(t,e,n){return n=n===o?1:Ul(n),Ai(hc(t,e),n)}function sc(t,e){var n=al(t)?wn:bi;return n(t,za(e,3))}function cc(t,e){var n=al(t)?xn:wi;return n(t,za(e,3))}var lc=aa((function(t,e,n){fe.call(t,n)?t[n].push(e):pi(t,n,[e])}));function fc(t,e,n,r){t=sl(t)?t:Ff(t),n=n&&!r?Ul(n):0;var i=t.length;return n<0&&(n=Fe(i+n,0)),Nl(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Dn(t,e,n)>-1}var pc=_o((function(t,e,r){var i=-1,o="function"==typeof e,a=sl(t)?n(t.length):[];return bi(t,(function(t){a[++i]=o?_n(e,t,r):Bi(t,e,r)})),a})),dc=aa((function(t,e,n){pi(t,n,e)}));function hc(t,e){var n=al(t)?kn:ro;return n(t,za(e,3))}function vc(t,e,n,r){return null==t?[]:(al(e)||(e=null==e?[]:[e]),n=r?o:n,al(n)||(n=null==n?[]:[n]),co(t,e,n))}var gc=aa((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]}));function mc(t,e,n){var r=al(t)?jn:Hn,i=arguments.length<3;return r(t,za(e,4),n,i,bi)}function yc(t,e,n){var r=al(t)?Tn:Hn,i=arguments.length<3;return r(t,za(e,4),n,i,wi)}function _c(t,e){var n=al(t)?$n:Oi;return n(t,qc(za(e,3)))}function bc(t){var e=al(t)?ri:bo;return e(t)}function wc(t,e,n){e=(n?ou(t,e,n):e===o)?1:Ul(e);var r=al(t)?ii:wo;return r(t,e)}function xc(t){var e=al(t)?oi:Oo;return e(t)}function Sc(t){if(null==t)return 0;if(sl(t))return Nl(t)?hr(t):t.length;var e=Ka(t);return e==X||e==ot?t.size:to(t).length}function $c(t,e,n){var r=al(t)?Mn:ko;return n&&ou(t,e,n)&&(e=o),r(t,za(e,3))}var Oc=_o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&ou(t,e[0],e[1])?e=[]:n>2&&ou(e[0],e[1],e[2])&&(e=[e[0]]),co(t,Ai(e,1),[])})),Ac=Me||function(){return un.Date.now()};function kc(t,e){if("function"!=typeof e)throw new oe(c);return t=Ul(t),function(){if(--t<1)return e.apply(this,arguments)}}function Cc(t,e,n){return e=n?o:e,e=t&&null==e?t.length:e,ja(t,O,o,o,o,o,e)}function jc(t,e){var n;if("function"!=typeof e)throw new oe(c);return t=Ul(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=o),n}}var Tc=_o((function(t,e,n){var r=y;if(n.length){var i=cr(n,Ba(Tc));r|=S}return ja(t,r,e,n,i)})),Mc=_o((function(t,e,n){var r=y|_;if(n.length){var i=cr(n,Ba(Mc));r|=S}return ja(e,r,t,n,i)}));function Ec(t,e,n){e=n?o:e;var r=ja(t,w,o,o,o,o,o,e);return r.placeholder=Ec.placeholder,r}function Lc(t,e,n){e=n?o:e;var r=ja(t,x,o,o,o,o,o,e);return r.placeholder=Lc.placeholder,r}function Ic(t,e,n){var r,i,a,u,s,l,f=0,p=!1,d=!1,h=!0;if("function"!=typeof t)throw new oe(c);function v(e){var n=r,a=i;return r=i=o,f=e,u=t.apply(a,n),u}function g(t){return f=t,s=Su(_,e),p?v(t):u}function m(t){var n=t-l,r=t-f,i=e-n;return d?Be(i,a-r):i}function y(t){var n=t-l,r=t-f;return l===o||n>=e||n<0||d&&r>=a}function _(){var t=Ac();if(y(t))return b(t);s=Su(_,m(t))}function b(t){return s=o,h&&r?v(t):(r=i=o,u)}function w(){s!==o&&Go(s),f=0,r=l=i=s=o}function x(){return s===o?u:b(Ac())}function S(){var t=Ac(),n=y(t);if(r=arguments,i=this,l=t,n){if(s===o)return g(l);if(d)return Go(s),s=Su(_,e),v(l)}return s===o&&(s=Su(_,e)),u}return e=Vl(e)||0,xl(n)&&(p=!!n.leading,d="maxWait"in n,a=d?Fe(Vl(n.maxWait)||0,e):a,h="trailing"in n?!!n.trailing:h),S.cancel=w,S.flush=x,S}var Pc=_o((function(t,e){return yi(t,1,e)})),Nc=_o((function(t,e,n){return yi(t,Vl(e)||0,n)}));function Dc(t){return ja(t,k)}function Rc(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new oe(c);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Rc.Cache||Br),n}function qc(t){if("function"!=typeof t)throw new oe(c);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Fc(t){return jc(2,t)}Rc.Cache=Br;var Bc=Ho((function(t,e){e=1==e.length&&al(e[0])?kn(e[0],Vn(za())):kn(Ai(e,1),Vn(za()));var n=e.length;return _o((function(r){var i=-1,o=Be(r.length,n);while(++i=e})),ol=zi(function(){return arguments}())?zi:function(t){return Sl(t)&&fe.call(t,"callee")&&!$e.call(t,"callee")},al=n.isArray,ul=dn?Vn(dn):Hi;function sl(t){return null!=t&&wl(t.length)&&!_l(t)}function cl(t){return Sl(t)&&sl(t)}function ll(t){return!0===t||!1===t||Sl(t)&&Ii(t)==U}var fl=Ne||Wp,pl=hn?Vn(hn):Qi;function dl(t){return Sl(t)&&1===t.nodeType&&!El(t)}function hl(t){if(null==t)return!0;if(sl(t)&&(al(t)||"string"==typeof t||"function"==typeof t.splice||fl(t)||Rl(t)||ol(t)))return!t.length;var e=Ka(t);if(e==X||e==ot)return!t.size;if(fu(t))return!to(t).length;for(var n in t)if(fe.call(t,n))return!1;return!0}function vl(t,e){return Gi(t,e)}function gl(t,e,n){n="function"==typeof n?n:o;var r=n?n(t,e):o;return r===o?Gi(t,e,o,n):!!r}function ml(t){if(!Sl(t))return!1;var e=Ii(t);return e==K||e==V||"string"==typeof t.message&&"string"==typeof t.name&&!El(t)}function yl(t){return"number"==typeof t&&De(t)}function _l(t){if(!xl(t))return!1;var e=Ii(t);return e==J||e==Z||e==G||e==rt}function bl(t){return"number"==typeof t&&t==Ul(t)}function wl(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=N}function xl(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Sl(t){return null!=t&&"object"==typeof t}var $l=vn?Vn(vn):Wi;function Ol(t,e){return t===e||Vi(t,e,Qa(e))}function Al(t,e,n){return n="function"==typeof n?n:o,Vi(t,e,Qa(e),n)}function kl(t){return Ml(t)&&t!=+t}function Cl(t){if(lu(t))throw new i(s);return Ki(t)}function jl(t){return null===t}function Tl(t){return null==t}function Ml(t){return"number"==typeof t||Sl(t)&&Ii(t)==Y}function El(t){if(!Sl(t)||Ii(t)!=et)return!1;var e=xe(t);if(null===e)return!0;var n=fe.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&le.call(n)==ve}var Ll=gn?Vn(gn):Ji;function Il(t){return bl(t)&&t>=-N&&t<=N}var Pl=mn?Vn(mn):Zi;function Nl(t){return"string"==typeof t||!al(t)&&Sl(t)&&Ii(t)==at}function Dl(t){return"symbol"==typeof t||Sl(t)&&Ii(t)==ut}var Rl=yn?Vn(yn):Xi;function ql(t){return t===o}function Fl(t){return Sl(t)&&Ka(t)==ct}function Bl(t){return Sl(t)&&Ii(t)==lt}var zl=$a(no),Hl=$a((function(t,e){return t<=e}));function Ql(t){if(!t)return[];if(sl(t))return Nl(t)?vr(t):na(t);if(ke&&t[ke])return ar(t[ke]());var e=Ka(t),n=e==X?ur:e==ot?lr:Ff;return n(t)}function Gl(t){if(!t)return 0===t?t:0;if(t=Vl(t),t===P||t===-P){var e=t<0?-1:1;return e*D}return t===t?t:0}function Ul(t){var e=Gl(t),n=e%1;return e===e?n?e-n:e:0}function Wl(t){return t?hi(Ul(t),0,q):0}function Vl(t){if("number"==typeof t)return t;if(Dl(t))return R;if(xl(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=xl(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Dt,"");var n=Vt.test(t);return n||Jt.test(t)?rn(t.slice(2),n?2:8):Wt.test(t)?R:+t}function Kl(t){return ra(t,xf(t))}function Jl(t){return t?hi(Ul(t),-N,N):0===t?t:0}function Zl(t){return null==t?"":Eo(t)}var Xl=ua((function(t,e){if(fu(e)||sl(e))ra(e,wf(e),t);else for(var n in e)fe.call(e,n)&&ui(t,n,e[n])})),Yl=ua((function(t,e){ra(e,xf(e),t)})),tf=ua((function(t,e,n,r){ra(e,xf(e),t,r)})),ef=ua((function(t,e,n,r){ra(e,wf(e),t,r)})),nf=Na(di);function rf(t,e){var n=xr(t);return null==e?n:li(n,e)}var of=_o((function(t,e){t=ne(t);var n=-1,r=e.length,i=r>2?e[2]:o;i&&ou(e[0],e[1],i)&&(r=1);while(++n1),e})),ra(t,Ra(t),n),r&&(n=vi(n,d|h|v,Ea));var i=e.length;while(i--)Io(n,e[i]);return n}));function Cf(t,e){return Tf(t,qc(za(e)))}var jf=Na((function(t,e){return null==t?{}:lo(t,e)}));function Tf(t,e){if(null==t)return{};var n=kn(Ra(t),(function(t){return[t]}));return e=za(e),fo(t,n,(function(t,n){return e(t,n[0])}))}function Mf(t,e,n){e=zo(e,t);var r=-1,i=e.length;i||(i=1,t=o);while(++re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Ue();return Be(t+i*(e-t+nn("1e-"+((i+"").length-1))),e)}return go(t,e)}var Gf=pa((function(t,e,n){return e=e.toLowerCase(),t+(n?Uf(e):e)}));function Uf(t){return _p(Zl(t).toLowerCase())}function Wf(t){return t=Zl(t),t&&t.replace(Xt,tr).replace(He,"")}function Vf(t,e,n){t=Zl(t),e=Eo(e);var r=t.length;n=n===o?r:hi(Ul(n),0,r);var i=n;return n-=e.length,n>=0&&t.slice(n,i)==e}function Kf(t){return t=Zl(t),t&&Ct.test(t)?t.replace(At,er):t}function Jf(t){return t=Zl(t),t&&Nt.test(t)?t.replace(Pt,"\\$&"):t}var Zf=pa((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Xf=pa((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Yf=fa("toLowerCase");function tp(t,e,n){t=Zl(t),e=Ul(e);var r=e?hr(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return wa(Ie(i),n)+t+wa(Le(i),n)}function ep(t,e,n){t=Zl(t),e=Ul(e);var r=e?hr(t):0;return e&&r>>0,n?(t=Zl(t),t&&("string"==typeof e||null!=e&&!Ll(e))&&(e=Eo(e),!e&&ir(t))?Qo(vr(t),0,n):t.split(e,n)):[]}var sp=pa((function(t,e,n){return t+(n?" ":"")+_p(e)}));function cp(t,e,n){return t=Zl(t),n=null==n?0:hi(Ul(n),0,t.length),e=Eo(e),t.slice(n,n+e.length)==e}function lp(t,e,n){var r=br.templateSettings;n&&ou(t,e,n)&&(e=o),t=Zl(t),e=tf({},e,r,Ta);var i,a,u=tf({},e.imports,r.imports,Ta),s=wf(u),c=Kn(u,s),l=0,f=e.interpolate||Yt,p="__p += '",d=re((e.escape||Yt).source+"|"+f.source+"|"+(f===Mt?Gt:Yt).source+"|"+(e.evaluate||Yt).source+"|$","g"),h="//# sourceURL="+(fe.call(e,"sourceURL")?(e.sourceURL+"").replace(/[\r\n]/g," "):"lodash.templateSources["+ ++Ke+"]")+"\n";t.replace(d,(function(e,n,r,o,u,s){return r||(r=o),p+=t.slice(l,s).replace(te,nr),n&&(i=!0,p+="' +\n__e("+n+") +\n'"),u&&(a=!0,p+="';\n"+u+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+e.length,e})),p+="';\n";var v=fe.call(e,"variable")&&e.variable;v||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(xt,""):p).replace(St,"$1").replace($t,"$1;"),p="function("+(v||"obj")+") {\n"+(v?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=wp((function(){return Ht(s,h+"return "+p).apply(o,c)}));if(g.source=p,ml(g))throw g;return g}function fp(t){return Zl(t).toLowerCase()}function pp(t){return Zl(t).toUpperCase()}function dp(t,e,n){if(t=Zl(t),t&&(n||e===o))return t.replace(Dt,"");if(!t||!(e=Eo(e)))return t;var r=vr(t),i=vr(e),a=Zn(r,i),u=Xn(r,i)+1;return Qo(r,a,u).join("")}function hp(t,e,n){if(t=Zl(t),t&&(n||e===o))return t.replace(qt,"");if(!t||!(e=Eo(e)))return t;var r=vr(t),i=Xn(r,vr(e))+1;return Qo(r,0,i).join("")}function vp(t,e,n){if(t=Zl(t),t&&(n||e===o))return t.replace(Rt,"");if(!t||!(e=Eo(e)))return t;var r=vr(t),i=Zn(r,vr(e));return Qo(r,i).join("")}function gp(t,e){var n=C,r=j;if(xl(e)){var i="separator"in e?e.separator:i;n="length"in e?Ul(e.length):n,r="omission"in e?Eo(e.omission):r}t=Zl(t);var a=t.length;if(ir(t)){var u=vr(t);a=u.length}if(n>=a)return t;var s=n-hr(r);if(s<1)return r;var c=u?Qo(u,0,s).join(""):t.slice(0,s);if(i===o)return c+r;if(u&&(s+=c.length-s),Ll(i)){if(t.slice(s).search(i)){var l,f=c;i.global||(i=re(i.source,Zl(Ut.exec(i))+"g")),i.lastIndex=0;while(l=i.exec(f))var p=l.index;c=c.slice(0,p===o?s:p)}}else if(t.indexOf(Eo(i),s)!=s){var d=c.lastIndexOf(i);d>-1&&(c=c.slice(0,d))}return c+r}function mp(t){return t=Zl(t),t&&kt.test(t)?t.replace(Ot,gr):t}var yp=pa((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),_p=fa("toUpperCase");function bp(t,e,n){return t=Zl(t),e=n?o:e,e===o?or(t)?_r(t):In(t):t.match(e)||[]}var wp=_o((function(t,e){try{return _n(t,o,e)}catch(n){return ml(n)?n:new i(n)}})),xp=Na((function(t,e){return wn(e,(function(e){e=ju(e),pi(t,e,Tc(t[e],t))})),t}));function Sp(t){var e=null==t?0:t.length,n=za();return t=e?kn(t,(function(t){if("function"!=typeof t[1])throw new oe(c);return[n(t[0]),t[1]]})):[],_o((function(n){var r=-1;while(++rN)return[];var n=q,r=Be(t,q);e=za(e),t-=q;var i=Un(r,e);while(++n0||e<0)?new Or(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==o&&(e=Ul(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},Or.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Or.prototype.toArray=function(){return this.take(q)},ji(Or.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=br[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);i&&(br.prototype[e]=function(){var e=this.__wrapped__,u=r?[1]:arguments,s=e instanceof Or,c=u[0],l=s||al(e),f=function(t){var e=i.apply(br,Cn([t],u));return r&&p?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(s=l=!1);var p=this.__chain__,d=!!this.__actions__.length,h=a&&!p,v=s&&!d;if(!a&&l){e=v?e:new Or(this);var g=t.apply(e,u);return g.__actions__.push({func:Gs,args:[f],thisArg:o}),new $r(g,p)}return h&&v?t.apply(this,u):(g=this.thru(f),h?r?g.value()[0]:g.value():g)})})),wn(["pop","push","shift","sort","splice","unshift"],(function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);br.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(al(i)?i:[],t)}return this[n]((function(n){return e.apply(al(n)?n:[],t)}))}})),ji(Or.prototype,(function(t,e){var n=br[e];if(n){var r=n.name+"";fe.call(cn,r)||(cn[r]=[]),cn[r].push({name:e,func:n})}})),cn[ma(o,_).name]=[{name:"wrapper",func:o}],Or.prototype.clone=Ar,Or.prototype.reverse=kr,Or.prototype.value=Cr,br.prototype.at=Us,br.prototype.chain=Ws,br.prototype.commit=Vs,br.prototype.next=Ks,br.prototype.plant=Zs,br.prototype.reverse=Xs,br.prototype.toJSON=br.prototype.valueOf=br.prototype.value=Ys,br.prototype.first=br.prototype.head,ke&&(br.prototype[ke]=Js),br},wr=br();un._=wr,i=function(){return wr}.call(e,n,e,r),i===o||(r.exports=i)}).call(this)}).call(this,n("c8ba"),n("62e4")(t))},3024:function(t,e,n){},"30f1":function(t,e,n){"use strict";var r=n("b8e3"),i=n("63b6"),o=n("9138"),a=n("35e8"),u=n("481b"),s=n("8f60"),c=n("45f2"),l=n("53e2"),f=n("5168")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",h="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,y,_,b){s(n,e,m);var w,x,S,$=function(t){if(!p&&t in C)return C[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",A=y==v,k=!1,C=t.prototype,j=C[f]||C[d]||y&&C[y],T=j||$(y),M=y?A?$("entries"):T:void 0,E="Array"==e&&C.entries||j;if(E&&(S=l(E.call(new t)),S!==Object.prototype&&S.next&&(c(S,O,!0),r||"function"==typeof S[f]||a(S,f,g))),A&&j&&j.name!==v&&(k=!0,T=function(){return j.call(this)}),r&&!b||!p&&!k&&C[f]||a(C,f,T),u[e]=T,u[O]=g,y)if(w={values:A?T:$(v),keys:_?T:$(h),entries:M},b)for(x in w)x in C||o(C,x,w[x]);else i(i.P+i.F*(p||k),e,w);return w}},"31f4":function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"32fc":function(t,e,n){var r=n("e53d").document;t.exports=r&&r.documentElement},"335c":function(t,e,n){var r=n("6b4c");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"33a4":function(t,e,n){var r=n("84f2"),i=n("2b4c")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"36c3":function(t,e,n){var r=n("335c"),i=n("25eb");t.exports=function(t){return r(i(t))}},3702:function(t,e,n){var r=n("481b"),i=n("5168")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},3846:function(t,e,n){n("9e1e")&&"g"!=/./g.flags&&n("86cc").f(RegExp.prototype,"flags",{configurable:!0,get:n("0bfb")})},"386b":function(t,e,n){var r=n("5ca1"),i=n("79e5"),o=n("be13"),a=/"/g,u=function(t,e,n,r){var i=String(o(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+i+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*i((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3})),"String",n)}},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"3a38":function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"3b2b":function(t,e,n){var r=n("7726"),i=n("5dbc"),o=n("86cc").f,a=n("9093").f,u=n("aae3"),s=n("0bfb"),c=r.RegExp,l=c,f=c.prototype,p=/a/g,d=/a/g,h=new c(p)!==p;if(n("9e1e")&&(!h||n("79e5")((function(){return d[n("2b4c")("match")]=!1,c(p)!=p||c(d)==d||"/a/i"!=c(p,"i")})))){c=function(t,e){var n=this instanceof c,r=u(t),o=void 0===e;return!n&&r&&t.constructor===c&&o?t:i(h?new l(r&&!o?t.source:t,e):l((r=t instanceof c)?t.source:t,r&&o?s.call(t):e),n?this:f,c)};for(var v=function(t){t in c||o(c,t,{configurable:!0,get:function(){return l[t]},set:function(e){l[t]=e}})},g=a(l),m=0;g.length>m;)v(g[m++]);f.constructor=c,c.prototype=f,n("2aba")(r,"RegExp",c)}n("7a56")("RegExp")},"40c3":function(t,e,n){var r=n("6b4c"),i=n("5168")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"45f2":function(t,e,n){var r=n("d9f6").f,i=n("07e3"),o=n("5168")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},"481b":function(t,e){t.exports={}},"4a59":function(t,e,n){var r=n("9b43"),i=n("1fa8"),o=n("33a4"),a=n("cb7c"),u=n("9def"),s=n("27ee"),c={},l={};e=t.exports=function(t,e,n,f,p){var d,h,v,g,m=p?function(){return t}:s(t),y=r(n,f,e?2:1),_=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(o(m)){for(d=u(t.length);d>_;_++)if(g=e?y(a(h=t[_])[0],h[1]):y(t[_]),g===c||g===l)return g}else for(v=m.call(t);!(h=v.next()).done;)if(g=i(v,y,h.value,e),g===c||g===l)return g};e.BREAK=c,e.RETURN=l},"4bf8":function(t,e,n){var r=n("be13");t.exports=function(t){return Object(r(t))}},"4ee1":function(t,e,n){var r=n("5168")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},t(o)}catch(a){}return n}},"4fe9":function(t,e,n){},"50ed":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},5147:function(t,e,n){var r=n("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},5168:function(t,e,n){var r=n("dbdb")("wks"),i=n("62a0"),o=n("e53d").Symbol,a="function"==typeof o,u=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};u.store=r},"520a":function(t,e,n){"use strict";var r=n("0bfb"),i=RegExp.prototype.exec,o=String.prototype.replace,a=i,u="lastIndex",s=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[u]||0!==e[u]}(),c=void 0!==/()??/.exec("")[1],l=s||c;l&&(a=function(t){var e,n,a,l,f=this;return c&&(n=new RegExp("^"+f.source+"$(?!\\s)",r.call(f))),s&&(e=f[u]),a=i.call(f,t),s&&a&&(f[u]=f.global?a.index+a[0].length:e),c&&a&&a.length>1&&o.call(a[0],n,(function(){for(l=1;l1?arguments[1]:void 0,g=void 0!==v,m=0,y=l(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),void 0==y||d==Array&&u(y))for(e=s(p.length),n=new d(e);e>m;m++)c(n,m,g?v(p[m],m):p[m]);else for(f=y.call(p),n=new d;!(i=f.next()).done;m++)c(n,m,g?a(f,v,[i.value,m],!0):i.value);return n.length=m,n}})},"54a1":function(t,e,n){n("6c1c"),n("1654"),t.exports=n("95d5")},"551c":function(t,e,n){"use strict";var r,i,o,a,u=n("2d00"),s=n("7726"),c=n("9b43"),l=n("23c6"),f=n("5ca1"),p=n("d3f4"),d=n("d8e8"),h=n("f605"),v=n("4a59"),g=n("ebd6"),m=n("1991").set,y=n("8079")(),_=n("a5b8"),b=n("9c80"),w=n("a25f"),x=n("bcaa"),S="Promise",$=s.TypeError,O=s.process,A=O&&O.versions,k=A&&A.v8||"",C=s[S],j="process"==l(O),T=function(){},M=i=_.f,E=!!function(){try{var t=C.resolve(1),e=(t.constructor={})[n("2b4c")("species")]=function(t){t(T,T)};return(j||"function"==typeof PromiseRejectionEvent)&&t.then(T)instanceof e&&0!==k.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(r){}}(),L=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},I=function(t,e){if(!t._n){t._n=!0;var n=t._c;y((function(){var r=t._v,i=1==t._s,o=0,a=function(e){var n,o,a,u=i?e.ok:e.fail,s=e.resolve,c=e.reject,l=e.domain;try{u?(i||(2==t._h&&D(t),t._h=1),!0===u?n=r:(l&&l.enter(),n=u(r),l&&(l.exit(),a=!0)),n===e.promise?c($("Promise-chain cycle")):(o=L(n))?o.call(n,s,c):s(n)):c(r)}catch(f){l&&!a&&l.exit(),c(f)}};while(n.length>o)a(n[o++]);t._c=[],t._n=!1,e&&!t._h&&P(t)}))}},P=function(t){m.call(s,(function(){var e,n,r,i=t._v,o=N(t);if(o&&(e=b((function(){j?O.emit("unhandledRejection",i,t):(n=s.onunhandledrejection)?n({promise:t,reason:i}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",i)})),t._h=j||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v}))},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},D=function(t){m.call(s,(function(){var e;j?O.emit("rejectionHandled",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})}))},R=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),I(e,!0))},q=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw $("Promise can't be resolved itself");(e=L(t))?y((function(){var r={_w:n,_d:!1};try{e.call(t,c(q,r,1),c(R,r,1))}catch(i){R.call(r,i)}})):(n._v=t,n._s=1,I(n,!1))}catch(r){R.call({_w:n,_d:!1},r)}}};E||(C=function(t){h(this,C,S,"_h"),d(t),r.call(this);try{t(c(q,this,1),c(R,this,1))}catch(e){R.call(this,e)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n("dcbc")(C.prototype,{then:function(t,e){var n=M(g(this,C));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=j?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&I(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r;this.promise=t,this.resolve=c(q,t,1),this.reject=c(R,t,1)},_.f=M=function(t){return t===C||t===a?new o(t):i(t)}),f(f.G+f.W+f.F*!E,{Promise:C}),n("7f20")(C,S),n("7a56")(S),a=n("8378")[S],f(f.S+f.F*!E,S,{reject:function(t){var e=M(this),n=e.reject;return n(t),e.promise}}),f(f.S+f.F*(u||!E),S,{resolve:function(t){return x(u&&this===a?C:this,t)}}),f(f.S+f.F*!(E&&n("5cc5")((function(t){C.all(t)["catch"](T)}))),S,{all:function(t){var e=this,n=M(e),r=n.resolve,i=n.reject,o=b((function(){var n=[],o=0,a=1;v(t,!1,(function(t){var u=o++,s=!1;n.push(void 0),a++,e.resolve(t).then((function(t){s||(s=!0,n[u]=t,--a||r(n))}),i)})),--a||r(n)}));return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=M(e),r=n.reject,i=b((function(){v(t,!1,(function(t){e.resolve(t).then(n.resolve,r)}))}));return i.e&&r(i.v),n.promise}})},5537:function(t,e,n){var r=n("8378"),i=n("7726"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(t,e,n){var r=n("dbdb")("keys"),i=n("62a0");t.exports=function(t){return r[t]||(r[t]=i(t))}},"584a":function(t,e){var n=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"5b4e":function(t,e,n){var r=n("36c3"),i=n("b447"),o=n("0fc9");t.exports=function(t){return function(e,n,a){var u,s=r(e),c=i(s.length),l=o(a,c);if(t&&n!=n){while(c>l)if(u=s[l++],u!=u)return!0}else for(;c>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}}},"5ca1":function(t,e,n){var r=n("7726"),i=n("8378"),o=n("32e9"),a=n("2aba"),u=n("9b43"),s="prototype",c=function(t,e,n){var l,f,p,d,h=t&c.F,v=t&c.G,g=t&c.S,m=t&c.P,y=t&c.B,_=v?r:g?r[e]||(r[e]={}):(r[e]||{})[s],b=v?i:i[e]||(i[e]={}),w=b[s]||(b[s]={});for(l in v&&(n=e),n)f=!h&&_&&void 0!==_[l],p=(f?_:n)[l],d=y&&f?u(p,r):m&&"function"==typeof p?u(Function.call,p):p,_&&a(_,l,p,t&c.U),b[l]!=p&&o(b,l,d),m&&w[l]!=p&&(w[l]=p)};r.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},"5cc5":function(t,e,n){var r=n("2b4c")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},t(o)}catch(a){}return n}},"5dbc":function(t,e,n){var r=n("d3f4"),i=n("8b97").set;t.exports=function(t,e,n){var o,a=e.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},"5df3":function(t,e,n){"use strict";var r=n("02f4")(!0);n("01f9")(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},"5f1b":function(t,e,n){"use strict";var r=n("23c6"),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var o=n.call(t,e);if("object"!==typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},"613b":function(t,e,n){var r=n("5537")("keys"),i=n("ca5a");t.exports=function(t){return r[t]||(r[t]=i(t))}},"626a":function(t,e,n){var r=n("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"62a0":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},"62e4":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"63b6":function(t,e,n){var r=n("e53d"),i=n("584a"),o=n("d864"),a=n("35e8"),u=n("07e3"),s="prototype",c=function(t,e,n){var l,f,p,d=t&c.F,h=t&c.G,v=t&c.S,g=t&c.P,m=t&c.B,y=t&c.W,_=h?i:i[e]||(i[e]={}),b=_[s],w=h?r:v?r[e]:(r[e]||{})[s];for(l in h&&(n=e),n)f=!d&&w&&void 0!==w[l],f&&u(_,l)||(p=f?w[l]:n[l],_[l]=h&&"function"!=typeof w[l]?n[l]:m&&f?o(p,r):y&&w[l]==p?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[s]=t[s],e}(p):g&&"function"==typeof p?o(Function.call,p):p,g&&((_.virtual||(_.virtual={}))[l]=p,t&c.R&&b&&!b[l]&&a(b,l,p)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},6821:function(t,e,n){var r=n("626a"),i=n("be13");t.exports=function(t){return r(i(t))}},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a47":function(t,e,n){"use strict";var r=n("2e4c"),i=n.n(r);i.a},"6a99":function(t,e,n){var r=n("d3f4");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"6af4":function(t,e,n){},"6b4c":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"6b54":function(t,e,n){"use strict";n("3846");var r=n("cb7c"),i=n("0bfb"),o=n("9e1e"),a="toString",u=/./[a],s=function(t){n("2aba")(RegExp.prototype,a,t,!0)};n("79e5")((function(){return"/a/b"!=u.call({source:"a",flags:"b"})}))?s((function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):u.name!=a&&s((function(){return u.call(this)}))},"6c1c":function(t,e,n){n("c367");for(var r=n("e53d"),i=n("35e8"),o=n("481b"),a=n("5168")("toStringTag"),u="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),s=0;s=c?t?"":void 0:(o=u.charCodeAt(s),o<55296||o>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?t?u.charAt(s):o:t?u.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},7333:function(t,e,n){"use strict";var r=n("9e1e"),i=n("0d58"),o=n("2621"),a=n("52a7"),u=n("4bf8"),s=n("626a"),c=Object.assign;t.exports=!c||n("79e5")((function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r}))?function(t,e){var n=u(t),c=arguments.length,l=1,f=o.f,p=a.f;while(c>l){var d,h=s(arguments[l++]),v=f?i(h).concat(f(h)):i(h),g=v.length,m=0;while(g>m)d=v[m++],r&&!p.call(h,d)||(n[d]=h[d])}return n}:c},7514:function(t,e,n){"use strict";var r=n("5ca1"),i=n("0a49")(5),o="find",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(o)},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"774e":function(t,e,n){t.exports=n("d2d5")},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"794b":function(t,e,n){t.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7a1c":function(t,e,n){"use strict";n.r(e);n("7514"),n("cadf"),n("551c"),n("f751"),n("097d");var r=n("a026"),i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex ls-ba ls-space padding left-0 col-md-4 nofloat transition-animate-width scoped-hide-on-small",class:t.smallScreenHidden?"toggled":"",style:{"max-height":t.$store.state.inSurveyViewHeight,display:t.hiddenStateToggleDisplay},attrs:{id:"sidebar"},on:{mouseleave:t.mouseleave,mouseup:t.mouseup}},[t.useMobileView&&t.smallScreenHidden||!t.useMobileView?[t.showLoader?n("div",{key:"dragaroundLoader",staticClass:"sidebar_loader",style:{width:t.getSideBarWidth,height:t.getloaderHeight}},[t._m(0)]):t._e(),n("div",{key:"mainContentContainer",staticClass:"col-12 fill-height ls-space padding all-0 mainContentContainer",staticStyle:{height:"100%"}},[n("div",{staticClass:"mainMenu container-fluid col-12 ls-space padding right-0 fill-height"},[n("sidebar-state-toggle",{on:{collapse:t.toggleCollapse}}),n("transition",{attrs:{name:"slide-fade"}},[n("sidemenu",{directives:[{name:"show",rawName:"v-show",value:t.showSideMenu,expression:"showSideMenu"}],style:{"min-height":t.calculateSideBarMenuHeight},attrs:{loading:t.loading},on:{changeLoadingState:t.applyLoadingState}})],1),n("transition",{attrs:{name:"slide-fade"}},[n("questionexplorer",{directives:[{name:"show",rawName:"v-show",value:t.showQuestionTree,expression:"showQuestionTree"}],style:{"min-height":t.calculateSideBarMenuHeight},attrs:{loading:t.loading},on:{changeLoadingState:t.applyLoadingState,openentity:t.openEntity,questiongrouporder:t.changedQuestionGroupOrder}})],1),n("transition",{attrs:{name:"slide-fade"}},[n("quickmenu",{directives:[{name:"show",rawName:"v-show",value:t.$store.getters.isCollapsed,expression:"$store.getters.isCollapsed"}],style:{"min-height":t.calculateSideBarMenuHeight},attrs:{loading:t.loading},on:{changeLoadingState:t.applyLoadingState}})],1)],1)])]:t._e(),t.useMobileView&&!t.smallScreenHidden||!t.useMobileView?n("div",{key:"resizeHandle",staticClass:"resize-handle ls-flex-column",style:{height:t.calculateSideBarMenuHeight,"max-height":t.getWindowHeight}},[n("button",{directives:[{name:"show",rawName:"v-show",value:!t.$store.getters.isCollapsed,expression:"!$store.getters.isCollapsed"}],staticClass:"btn btn-default",on:{mousedown:t.mousedown,click:function(t){return t.preventDefault(),function(){return!1}()}}},[n("i",{staticClass:"fa fa-ellipsis-v"})])]):t._e(),t.useMobileView&&t.smallScreenHidden?n("div",{staticClass:"scoped-placeholder-greyed-area",domProps:{innerHTML:t._s(" ")},on:{click:t.toggleSmallScreenHide}}):t._e()],2)},o=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex ls-flex-column fill align-content-center align-items-center"},[n("i",{staticClass:"fa fa-circle-o-notch fa-2x fa-spin"})])}],a=(n("5df3"),n("3b2b"),n("b54a"),n("aef6"),n("ac6a"),n("2ef0"),{methods:{_runAjax:function(t,e,n){return e=e||{},n=n||"get",new Promise((function(r,i){void 0==$&&i("JQUERY NOT AVAILABLE!"),$.ajax({url:t,method:n||"get",data:e,dataType:"json",success:function(t,e,n){r({success:!0,data:t,transferStatus:e,xhr:n})},error:function(t,e,n){var r=t.responseJSON||t.responseText;i({success:!1,error:n,data:r,transferStatus:e,xhr:t})}})}))},post:function(t,e){return this._runAjax(t,e,"post")},get:function(t,e){return this._runAjax(t,e,"get")},delete:function(t,e){return this._runAjax(t,e,"delete")},put:function(t,e){return this._runAjax(t,e,"put")}}}),u=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex-column fill ls-ba menu-pane ls-space padding left-0 top-0 bottom-0 right-5 margin top-5",attrs:{id:"questionexplorer"}},[""!=t.createAllowance?n("div",{staticClass:"ls-flex-row wrap align-content-center align-items-center ls-space margin top-5 bottom-15 button-sub-bar"},[n("div",{staticClass:"scoped-toolbuttons-left"},[void 0!=t.createQuestionGroupLink&&t.createQuestionGroupLink.length>1?n("a",{staticClass:"btn btn-small btn-primary pjax",attrs:{id:"adminsidepanel__sidebar--selectorCreateQuestionGroup",href:t.createQuestionGroupLink}},[n("i",{staticClass:"fa fa-plus"}),t._v(" \n "+t._s(t._f("translate")("createPage"))+"\n ")]):t._e(),t.createQuestionAllowed?n("a",{staticClass:"btn btn-small btn-default ls-space margin right-10 pjax",attrs:{id:"adminsidepanel__sidebar--selectorCreateQuestion",href:t.createFullQuestionLink()}},[n("i",{staticClass:"fa fa-plus-circle"}),t._v(" \n "+t._s(t._f("translate")("createQuestion"))+"\n ")]):t._e()]),n("div",{staticClass:"scoped-toolbuttons-right"},[n("button",{staticClass:"btn btn-default",attrs:{title:t.translate(t.allowOrganizer?"lockOrganizerTitle":"unlockOrganizerTitle")},on:{click:t.toggleOrganizer}},[n("i",{class:t.allowOrganizer?"fa fa-unlock":"fa fa-lock"})]),n("button",{staticClass:"btn btn-default",attrs:{title:t.translate("collapseAll")},on:{click:t.collapseAll}},[n("i",{staticClass:"fa fa-compress"})])])]):t._e(),n("div",{staticClass:"ls-flex-row ls-space padding all-0"},[n("ul",{staticClass:"list-group col-12 questiongroup-list-group",on:{drop:function(e){return t.dropQuestionGroup(e,t.questiongroup)}}},t._l(t.orderedQuestionGroups,(function(e){return n("li",{key:e.gid,staticClass:"list-group-item ls-flex-column",class:t.questionGroupItemClasses(e),on:{dragenter:function(n){return t.dragoverQuestiongroup(n,e)}}},[n("div",{staticClass:"col-12 ls-flex-row nowrap ls-space padding right-5 bottom-5"},[t.surveyIsActive?t._e():n("i",{staticClass:"fa fa-bars bigIcons dragPointer",class:t.allowOrganizer?"":"disabled",attrs:{draggable:t.allowOrganizer},on:{dragend:function(n){return t.endDraggingGroup(n,e)},dragstart:function(n){return t.startDraggingGroup(n,e)},click:function(t){return t.stopPropagation(),t.preventDefault(),function(){return!1}()}}},[t._v("\n  \n ")]),n("a",{staticClass:"col-12 pjax",attrs:{href:e.link},on:{click:function(n){return n.stopPropagation(),t.openQuestionGroup(e)}}},[n("span",{class:t.$store.getters.isRTL?"question_text_ellipsize pull-right":"question_text_ellipsize pull-left",style:{"max-width":t.itemWidth}},[t._v("\n "+t._s(e.group_name)+" \n ")]),n("span",{class:t.$store.getters.isRTL?"badge ls-space margin right-5 pull-left":"badge ls-space margin right-5 pull-right"},[t._v("\n "+t._s(e.questions.length)+"\n ")])]),n("i",{staticClass:"fa bigIcons",class:t.isOpen(e.gid)?"fa-caret-up":"fa-caret-down",on:{click:function(n){return n.preventDefault(),t.toggleActivation(e.gid)}}},[t._v(" ")])]),n("transition",{attrs:{name:"slide-fade-down"}},[t.isOpen(e.gid)?n("ul",{staticClass:"list-group background-muted padding-left question-question-list",on:{drop:function(e){return t.dropQuestion(e,t.question)}}},t._l(t.orderQuestions(e.questions),(function(r){return n("li",{key:r.qid,staticClass:"list-group-item question-question-list-item ls-flex-row align-itmes-flex-start",class:t.questionItemClasses(r),attrs:{"data-toggle":"tootltip","data-is-hidden":r.hidden,"data-questiontype":r.type,"data-has-condition":t.questionHasCondition(r),title:r.question_flat},on:{dragenter:function(n){return t.dragoverQuestion(n,r,e)}}},[t.$store.state.surveyActiveState?t._e():n("i",{staticClass:"fa fa-bars margin-right bigIcons dragPointer question-question-list-item-drag",class:t.allowOrganizer?"":"disabled",attrs:{draggable:t.allowOrganizer},on:{dragend:function(e){return t.endDraggingQuestion(e,r)},dragstart:function(n){return t.startDraggingQuestion(n,r,e)},click:function(t){return t.stopPropagation(),t.preventDefault(),function(){return!1}()}}},[t._v("\n  \n ")]),n("a",{staticClass:"col-9 pjax question-question-list-item-link display-as-container",attrs:{href:r.link},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.openQuestion(r)}}},[n("span",{staticClass:"question_text_ellipsize",class:{"question-hidden":r.hidden},style:{width:t.itemWidth}},[t._v("\n ["+t._s(r.title)+"] › "+t._s(r.question_flat)+" \n ")])])])})),0):t._e()])],1)})),0)])])},s=[],c={mixins:[a],data:function(){return{active:[],questiongroupDragging:!1,draggedQuestionGroup:null,questionDragging:!1,draggedQuestion:null,draggedQuestionsGroup:null}},computed:{allowOrganizer:function(){return 1===this.$store.state.allowOrganizer},surveyIsActive:function(){return window.SideMenuData.isActive},createQuestionGroupLink:function(){return window.SideMenuData.createQuestionGroupLink},createQuestionLink:function(){return window.SideMenuData.createQuestionLink},calculatedHeight:function(){var t=this.$store.state.maxHeight;return t-100},orderedQuestionGroups:function(){return LS.ld.orderBy(this.$store.state.questiongroups,(function(t){return parseInt(t.group_order||999999)}),["asc"])},createQuestionAllowed:function(){return this.$store.state.questiongroups.length>0&&void 0!=this.createQuestionLink&&this.createQuestionLink.length>1},createAllowance:function(){var t=void 0!=this.createQuestionGroupLink&&this.createQuestionGroupLink.length>1?"g":"",e=this.createQuestionAllowed?"q":"";return t+e},itemWidth:function(){return parseInt(this.$store.state.sidebarwidth)-95+"px"}},methods:{toggleOrganizer:function(){this.$store.dispatch("unlockLockOrganizer")},collapseAll:function(){this.active=[]},createFullQuestionLink:function(){return LS.reparsedParameters().combined.gid?LS.createUrl(this.createQuestionLink,{gid:LS.reparsedParameters().combined.gid}):LS.createUrl(this.createQuestionLink,{})},questionHasCondition:function(t){return"1"!==t.relevance},questionItemClasses:function(t){var e="";return e+=this.$store.state.lastQuestionOpen===t.qid?"selected activated":" ",null!==this.draggedQuestion&&(e+=this.draggedQuestion.qid===t.qid?" dragged":" "),e},questionGroupItemClasses:function(t){var e="";return e+=this.isOpen(t.gid)?" selected ":" ",e+=this.isActive(t.gid)?" activated ":" ",null!==this.draggedQuestionGroup&&(e+=this.draggedQuestionGroup.gid===t.gid?" dragged":" "),e},orderQuestions:function(t){return LS.ld.orderBy(t,(function(t){return parseInt(t.question_order||999999)}),["asc"])},isActive:function(t){return t==this.$store.state.lastQuestionGroupOpen},isOpen:function(t){var e=-1!=LS.ld.indexOf(this.active,t);return!0!==this.questiongroupDragging&&e},toggleActivation:function(t){if(this.isOpen(t))LS.ld.remove(this.active,(function(e){return e===t}));else this.active.push(t);this.$store.commit("questionGroupOpenArray",this.active),this.updatePjaxLinks()},addActive:function(t){this.isOpen(t)||this.active.push(t),this.$store.commit("questionGroupOpenArray",this.active)},openQuestionGroup:function(t){this.addActive(t.gid),this.$store.commit("lastQuestionGroupOpen",t),this.updatePjaxLinks()},openQuestion:function(t){this.addActive(t.gid),this.$store.commit("lastQuestionOpen",t),this.updatePjaxLinks(),$(document).trigger("pjax:load",{url:t.link})},startDraggingGroup:function(t,e){this.draggedQuestionGroup=e,this.questiongroupDragging=!0,t.dataTransfer.setData("text/plain","node")},endDraggingGroup:function(t,e){null!==this.draggedQuestionGroup&&(this.draggedQuestionGroup=null,this.questiongroupDragging=!1,this.$emit("questiongrouporder"))},dragoverQuestiongroup:function(t,e){var n=this;if(void 0!=this.draggedQuestion&&null!=this.draggedQuestion||this.$log.log({this:this,questiongroupObject:e,draggedQuestion:this.draggedQuestion}),this.questiongroupDragging){var r=parseInt(e.group_order),i=parseInt(this.draggedQuestionGroup.group_order);1==Math.abs(parseInt(r)-parseInt(i))&&(e.group_order=i,this.draggedQuestionGroup.group_order=r)}else{if(window.SideMenuData.isActive)return;if(this.addActive(e.gid),this.draggedQuestion.gid!==e.gid){var o=LS.ld.remove(this.draggedQuestionsGroup.questions,(function(t,e){return t.qid===n.draggedQuestion.qid}));o.length>0&&(this.draggedQuestion.question_order=null,e.questions.push(this.draggedQuestion),this.draggedQuestion.gid=e.gid,e.group_order>this.draggedQuestionsGroup.group_order?(this.draggedQuestion.question_order=0,LS.ld.each(e.questions,(function(t,e){t.question_order=parseInt(t.question_order)+1}))):this.draggedQuestion.question_order=this.draggedQuestionsGroup.questions.length+1,this.draggedQuestionsGroup=e)}}},startDraggingQuestion:function(t,e,n){this.$log.log("Dragging started",e),t.dataTransfer.setData("application/node",this),this.questionDragging=!0,this.draggedQuestion=e,this.draggedQuestionsGroup=n},endDraggingQuestion:function(t,e){this.questionDragging&&(this.questionDragging=!1,this.draggedQuestion=null,this.draggedQuestionsGroup=null,this.$emit("questiongrouporder"))},dragoverQuestion:function(t,e,n){if(this.questionDragging){if(this.questionDragging.gid!==e.gid&&window.SideMenuData.isActive)return;var r=e.question_order;e.question_order=this.draggedQuestion.question_order,this.draggedQuestion.question_order=r}}},mounted:function(){this.active=this.$store.state.questionGroupOpenArray,this.updatePjaxLinks(),$(document).on("vue-reload-remote",(function(){}))}},l=c;n("8c57");function f(t,e,n,r,i,o,a,u){var s,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=s):i&&(s=u?function(){i.call(this,this.$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,e){return s.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,s):[s]}return{exports:t,options:c}}var p=f(l,u,s,!1,null,null,null),d=p.exports,h=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{key:t.currentKey,staticClass:"ls-space margin bottom-15 top-5 col-12",staticStyle:{height:"40px"}},[n("div",{staticClass:"ls-flex-row align-content-space-between align-items-flex-end ls-space padding left-0 right-10 bottom-0 top-0"},[n("transition",{attrs:{name:"fade"}},[t.$store.getters.isCollapsed?t._e():n("button",{staticClass:"btn btn-default ls-space padding left-15 right-15",on:{click:function(e){return t.$emit("collapse")}}},[n("i",{class:t.$store.getters.isRTL?"fa fa-chevron-right":"fa fa-chevron-left"})])]),n("transition",{attrs:{name:"fade"}},[t.$store.getters.isCollapsed?t._e():n("div",{staticClass:"ls-flex-item grow-10 col-12"},[n("div",{staticClass:"btn-group btn-group col-12"},[n("button",{staticClass:"btn col-6 force color white onhover tabbutton",class:"settings"==t.currentTab?"btn-primary":"btn-default",attrs:{id:"adminsidepanel__sidebar--selectorSettingsButton"},on:{click:function(e){t.currentTab="settings"}}},[t._v("\n "+t._s(t._f("translate")("settings"))+"\n ")]),n("button",{staticClass:"btn col-6 force color white onhover tabbutton",class:"questiontree"==t.currentTab?"btn-primary":"btn-default",attrs:{id:"adminsidepanel__sidebar--selectorStructureButton"},on:{click:function(e){t.currentTab="questiontree"}}},[t._v("\n "+t._s(t._f("translate")("structure"))+"\n ")])])])]),n("transition",{attrs:{name:"fade"}},[t.$store.getters.isCollapsed?n("button",{staticClass:"btn btn-default ls-space padding left-15 right-15",on:{click:function(e){return t.$emit("collapse")}}},[n("i",{class:t.$store.getters.isRTL?"fa fa-chevron-left":"fa fa-chevron-right"})]):t._e()])],1)])},v=[],g={name:"sidebar-state-toggle",computed:{currentKey:function(){return this.$store.state.toggleKey},currentTab:{get:function(){return this.$store.state.currentTab},set:function(t){this.$store.dispatch("changeCurrentTab",t)}}}},m=g,y=f(m,h,v,!1,null,null,null),_=y.exports,b=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex-column fill menu-pane overflow-enabled ls-space padding all-0 margin top-5"},[t._l(t.sortedMenues,(function(e){return n("div",{directives:[{name:"show",rawName:"v-show",value:!t.loadingState,expression:"!loadingState"}],key:e.id,staticClass:"ls-flex-row wrap ls-space padding all-0",attrs:{title:e.title,id:e.id}},[n("label",{staticClass:"menu-label"},[t._v(t._s(e.title))]),n("submenu",{attrs:{menu:e}})],1)})),t.loadingState?n("loader-widget",{attrs:{id:"sidemenuLoaderWidget"}}):t._e()],2)},w=[],x=(n("c5f6"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return"fontawesome"==t.iconType?n("i",{staticClass:"fa",class:"fa-"+t.icon},[t._v(" ")]):"image"==t.iconType?n("img",{attrs:{width:"32px",src:t.icon}}):"iconclass"==t.iconType?n("i",{class:t.icon},[t._v(" ")]):n("span")}),S=[],O={props:{icon:{type:String},iconType:{type:String}}},A=O,k=f(A,x,S,!1,null,null,null),C=k.exports,j=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ul",{staticClass:"list-group subpanel col-12",class:"level-"+t.menu.level},[t._l(t.sortedMenuEntries,(function(e){return n("a",{key:e.id,staticClass:"list-group-item",class:t.getLinkClass(e),attrs:{href:e.link,target:1==e.link_external?"_blank":"",id:"sidemenu_"+e.name},on:{click:function(n){return n.stopPropagation(),t.setActiveMenuItemIndex(e)}}},[n("div",{staticClass:"col-12",class:e.menu_class,attrs:{title:t.reConvertHTML(e.menu_description),"data-toggle":"tooltip"}},[n("div",{staticClass:"ls-space padding all-0",class:t.$store.state.lastMenuItemOpen==e.id?"col-sm-10":"col-sm-12"},[n("menuicon",{attrs:{"icon-type":e.menu_icon_type,icon:e.menu_icon}}),n("span",{domProps:{innerHTML:t._s(e.menu_title)}}),1==e.link_external?n("i",{staticClass:"fa fa-external-link"},[t._v(" ")]):t._e()],1),n("div",{directives:[{name:"show",rawName:"v-show",value:t.$store.state.lastMenuItemOpen==e.id,expression:"$store.state.lastMenuItemOpen == menuItem.id"}],staticClass:"col-sm-2 text-center ls-space padding all-0 background white"},[n("i",{staticClass:"fa fa-chevron-right"},[t._v(" ")])])])])})),t._l(t.menu.submenus,(function(e){return n("li",{key:e.id,staticClass:"list-group-item",class:t.checkIsOpen(e)?"menu-selected":"",on:{"!click":function(n){return n.stopPropagation(),t.setActiveMenuIndex(e)}}},[n("a",{staticClass:"ls-flex-row nowrap align-item-center align-content-center",class:t.checkIsOpen(e)?"ls-space margin bottom-5":"",attrs:{href:"#",title:t.reConvertHTML(e.description),"data-toggle":"tooltip"}},[n("div",{staticClass:"ls-space col-sm-10 padding all-0"},[n("menuicon",{attrs:{"icon-type":"fontawesome",icon:"arrow-right"}}),n("span",{domProps:{innerHTML:t._s(e.title)}})],1),n("div",{staticClass:"col-sm-2 text-center ls-space padding all-0",class:t.checkIsOpen(e)?"menu-open":""},[n("i",{staticClass:"fa fa-level-down"})])]),n("transition",{attrs:{name:"slide-fade-down"}},[t.checkIsOpen(e)?n("submenu",{attrs:{menu:e}}):t._e()],1)],1)}))],2)},T=[],M=(n("a481"),{name:"submenu",components:{menuicon:C},mixins:[a],props:{menu:{type:[Object,Array],required:!0}},data:function(){return{menues:{}}},computed:{sortedMenuEntries:function(){return LS.ld.orderBy(this.menu.entries,(function(t){return parseInt(t.ordering||999999)}),["asc"])}},methods:{setActiveMenuItemIndex:function(t){t.id;return this.$store.commit("lastMenuItemOpen",t),this.$log.log("Opened Menuitem",t),!0},checkIsOpen:function(t){var e=this,n=this.$store.state.lastMenuOpen==t.id,r=!1;return LS.ld.each(t.submenus,(function(t,n){r=e.$store.state.lastMenuOpen==t.id||r})),n||r||!1},setActiveMenuIndex:function(t){t.id;this.$store.commit("lastMenuOpen",t)},setOpenSubpanel:function(t){this.openSubpanelId=t,this.$emit("menuselected",t)},debugOut:function(t){return JSON.stringify(t)},getLinkClass:function(t){var e="ls-flex-row nowrap ";return e+=t.pjax?"pjax ":" ",e+=this.$store.state.lastMenuItemOpen==t.id?"selected ":" ",e},reConvertHTML:function(t){var e=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"],n=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"];return LS.ld.each(n,(function(n,r){t=t.replace(n,e[r])})),t}},created:function(){},mounted:function(){this.updatePjaxLinks(),this.redoTooltips()}}),E=M,L=f(E,j,T,!1,null,null,null),I=L.exports,P={name:"sidemenu",components:{menuicon:C,submenu:I},mixins:[a],props:{openSubpanelId:{type:Number},loading:{type:Boolean,default:!1}},data:function(){return{menues:{}}},computed:{sortedMenues:function(){return LS.ld.orderBy(this.$store.state.sidemenus,(function(t){return parseInt(t.ordering||999999)}),["asc"])},loadingState:{get:function(){return this.loading},set:function(t){this.$emit("changeLoadingState",t)}}},methods:{sortedMenuEntries:function(t){var e=LS.ld.orderBy(t,(function(t){return parseInt(t.ordering||999999)}),["asc"]);return e},setActiveMenuIndex:function(t){t.id;this.$store.commit("lastMenuOpen",t)},setActiveMenuItemIndex:function(t){t.id;this.$store.commit("lastMenuItemOpen",t)},setOpenSubpanel:function(t){this.openSubpanelId=t,this.$emit("menuselected",t)},debugOut:function(t){return JSON.stringify(t)}},created:function(){var t=this;this.$store.dispatch("getSidemenus").then((function(t){}),this.$log.error).finally((function(e){t.loadingState=!1}))},mounted:function(){this.updatePjaxLinks(),$(document).on("vue-reload-remote",(function(){}))}},N=P,D=f(N,b,w,!1,null,null,null),R=D.exports,q=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex-column fill"},[t._l(t.sortedMenues,(function(e){return n("div",{directives:[{name:"show",rawName:"v-show",value:!t.loadingState,expression:"!loadingState"}],key:e.title,staticClass:"ls-space margin top-10",attrs:{title:e.title}},[n("div",{staticClass:"btn-group-vertical ls-space padding right-10"},t._l(t.sortedMenuEntries(e.entries),(function(e){return n("a",{key:e.id,staticClass:"btn btn-icon",class:t.compileEntryClasses(e),attrs:{href:e.link,title:t.reConvertHTML(e.menu_description),target:e.link_external?"_blank":"_self","data-toggle":"tooltip"},on:{click:function(n){return t.setActiveMenuIndex(e)}}},["fontawesome"==e.menu_icon_type?[n("i",{staticClass:"quickmenuIcon fa",class:"fa-"+e.menu_icon})]:"image"==e.menu_icon_type?[n("img",{attrs:{width:"32px",src:e.menu_icon}})]:"iconclass"==e.menu_icon_type?[n("i",{staticClass:"quickmenuIcon",class:e.menu_icon})]:t._e()],2)})),0)])})),t.loadingState?n("loader-widget",{attrs:{id:"quickmenuLoadingIcon","extra-class":"loader-quickmenu"}}):t._e()],2)},F=[],B={mixins:[a],props:{menuEntries:{type:[Array,Object]},activeMenuIndex:{type:String},loading:{type:Boolean,default:!1}},data:function(){return{}},computed:{loadingState:{get:function(){return this.loading},set:function(t){this.$emit("changeLoadingState",t)}},sortedMenues:function(){return LS.ld.orderBy(this.$store.state.collapsedmenus,(function(t){return parseInt(t.ordering||999999)}),["asc"])}},methods:{sortedMenuEntries:function(t){var e=LS.ld.orderBy(t,(function(t){return parseInt(t.ordering||999999)}),["asc"]);return e},setActiveMenuIndex:function(t){t.id;this.$store.commit("lastMenuItemOpen",t)},compileEntryClasses:function(t){var e="";return this.$store.state.lastMenuItemOpen==t.id?e+=" btn-primary ":e+=" btn-default ",t.link_external||(e+=" pjax "),e},reConvertHTML:function(t){var e=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"],n=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"];return LS.ld.each(n,(function(n,r){t=t.replace(n,e[r])})),t}},created:function(){var t=this;this.$store.dispatch("getCollapsedmenus").then((function(t){}),this.$log.error).finally((function(e){t.loadingState=!1}))},mounted:function(){}},z=B,H=(n("ab94"),f(z,q,F,!1,null,null,null)),Q=H.exports,G={props:{landOnTab:String},components:{questionexplorer:d,sidemenu:R,quickmenu:Q,SidebarStateToggle:_},mixins:[a],data:function(){return{activeMenuIndex:0,openSubpanelId:0,menues:[],collapsed:!1,sideBarWidth:"315",initialPos:{x:0,y:0},isMouseDown:!1,isMouseDownTimeOut:null,sideBarHeight:"400px",showLoader:!1,loading:!0,hiddenStateToggleDisplay:"flex",smallScreenHidden:!1}},computed:{useMobileView:function(){return window.innerWidth<768},isActive:function(){return window.SideMenuData.isActive},questiongroups:function(){return this.$store.state.questiongroups},sidemenus:{get:function(){return this.$store.state.sidemenus},set:function(t){this.$store.commit("updateSidemenus",t)}},collapsedmenus:{get:function(){return this.$store.state.collapsedmenus},set:function(t){this.$store.commit("updateCollapsedmenus",t)}},currentTab:{get:function(){return this.$store.state.currentTab},set:function(t){this.$store.commit("changeCurrentTab",t)}},getSideBarWidth:function(){return this.$store.getters.isCollapsed?"98":this.sideBarWidth},sortedMenus:function(){return LS.ld.orderBy(this.menues,(function(t){return parseInt(t.order||999999)}),["asc"])},showSideMenu:function(){return!this.$store.getters.isCollapsed&&"settings"==this.currentTab},showQuestionTree:function(){return!this.$store.getters.isCollapsed&&"questiontree"==this.currentTab},calculateSideBarMenuHeight:function(){var t=this.$store.state.sideBarHeight;return LS.ld.min(t,Math.floor(2*screen.height))+"px"},getWindowHeight:function(){return 2*screen.height+"px"},getloaderHeight:function(){return $("#sidebar").height()}},methods:{applyLoadingState:function(t){this.loading=t},calculateHeight:function(t){t.$store.commit("changeSideBarHeight",$("#in_survey_common").height())},changedQuestionGroupOrder:function(){var t=this,e=this,n=LS.ld.map(this.questiongroups,(function(t,e){var n=LS.ld.map(t.questions,(function(t,e){return{qid:t.qid,question:t.question,gid:t.gid,question_order:t.question_order}}));return{gid:t.gid,group_name:t.group_name,group_order:t.group_order,questions:n}}));this.$log.log("QuestionGroup order changed"),this.showLoader=!0,this.post(window.SideMenuData.updateOrderLink,{grouparray:n,surveyid:this.$store.surveyid}).then((function(t){e.$log.log("questiongroups updated"),e.$store.dispatch("getQuestions").then((function(){e.showLoader=!1}))}),(function(n){e.$log.error("questiongroups updating error!"),t.post(window.SideMenuData.updateOrderLink,{surveyid:t.$store.surveyid}).then((function(){e.getQuestions().then((function(){e.showLoader=!1}))}))}))},controlActiveLink:function(){var t=window.location.href,e=!1;LS.ld.each(this.sidemenus,(function(n,r){LS.ld.each(n.entries,(function(n,r){e=LS.ld.endsWith(t,n.link)?n:e}))}));var n=!1;LS.ld.each(this.collapsedmenus,(function(e,r){LS.ld.each(e.entries,(function(e,r){n=LS.ld.endsWith(t,e.link)?e:n}))}));var r=!1;LS.ld.each(this.questiongroups,(function(e,n){var i=new RegExp("questiongroups/sa/edit/surveyid/"+e.sid+"/gid/"+e.gid);r=i.test(t)||LS.ld.endsWith(t,e.link)?e:r}));var i=!1;LS.ld.each(this.questiongroups,(function(e,n){LS.ld.each(e.questions,(function(e,n){var r=new RegExp("editquestion/surveyid/"+e.sid+"/gid/"+e.gid+"/qid/"+e.qid);i=LS.ld.endsWith(t,e.link)||r.test(t)?e:i}))})),this.$store.commit("closeAllMenus"),0!=e&&1!=this.$store.getters.isCollapsed&&this.$store.commit("lastMenuItemOpen",e),0!=n&&1==this.$store.getters.isCollapsed&&this.$store.commit("lastMenuItemOpen",n),0!=i&&this.$store.commit("lastQuestionOpen",i),0!=r&&(this.$store.commit("lastQuestionGroupOpen",r),this.$store.commit("addToQuestionGroupOpenArray",r))},editEntity:function(){this.setActiveMenuIndex(null,"question")},openEntity:function(){this.setActiveMenuIndex(null,"question")},setActiveMenuIndex:function(t){this.$store.commit("lastMenuItemOpen",t),this.activeMenuIndex=t},setOpenSubpanel:function(t){this.openSubpanelId=t,this.$store.commit("lastMenuOpen",t),this.$emit("menuselected",t)},toggleCollapse:function(){this.$store.commit("changeIsCollapsed",!this.$store.state.isCollapsed),this.$store.getters.isCollapsed?this.sideBarWidth="98":this.sideBarWidth=this.$store.state.sidebarwidth},toggleSmallScreenHide:function(){this.smallScreenHidden=!this.smallScreenHidden},mousedown:function(t){this.useMobileView&&(this.$store.commit("changeIsCollapsed",!1),this.smallScreenHidden=!this.smallScreenHidden),this.isMouseDown=!this.$store.getters.isCollapsed,$("#sidebar").removeClass("transition-animate-width"),$("#pjax-content").removeClass("transition-animate-width")},mouseup:function(t){this.isMouseDown&&(this.isMouseDown=!1,parseInt(this.sideBarWidth)<250&&!this.$store.getters.isCollapsed?(this.toggleCollapse(),this.$store.commit("changeSidebarwidth","340")):this.$store.commit("changeSidebarwidth",this.sideBarWidth),$("#sidebar").addClass("transition-animate-width"),$("#pjax-content").removeClass("transition-animate-width"))},mouseleave:function(t){if(this.isMouseDown){var e=this;this.isMouseDownTimeOut=setTimeout((function(){e.mouseup(t)}),1e3)}},mousemove:function(t,e){if(this.isMouseDown){if(e.$store.getters.isRTL){if(0===t.screenX&&0===t.screenY)return;if(window.innerWidth-t.clientX>screen.width/2)return void this.$store.commit("maxSideBarWidth",!0);e.sideBarWidth=window.innerWidth-t.pageX-8+"px",this.$store.commit("changeSidebarwidth",e.sideBarWidth),this.$store.commit("maxSideBarWidth",!1)}else{if(0===t.screenX&&0===t.screenY)return;if(t.clientX>screen.width/2)return void this.$store.commit("maxSideBarWidth",!0);e.sideBarWidth=t.pageX+8+"px",this.$store.commit("changeSidebarwidth",e.sideBarWidth),this.$store.commit("maxSideBarWidth",!1)}window.clearTimeout(e.isMouseDownTimeOut),e.isMouseDownTimeOut=null}},setBaseMenuPosition:function(t,e){switch(e){case"side":this.sidemenus=LS.ld.orderBy(t,(function(t){return parseInt(t.order||999999)}),["desc"]);break;case"collapsed":this.collapsedmenus=LS.ld.orderBy(t,(function(t){return parseInt(t.order||999999)}),["desc"]);break}},changeCurrentTab:function(t){t="structure"===t?"questiontree":"settings",this.currentTab=t}},created:function(){var t=this;window.innerWidth<768&&this.$store.commit("changeIsCollapsed",!1),t.$store.commit("setSurveyActiveState",1===parseInt(this.isActive)),this.activeMenuIndex=this.$store.state.lastMenuOpen,this.$store.getters.isCollapsed?this.sideBarWidth="98":this.sideBarWidth=t.$store.state.sidebarwidth,LS.ld.each(window.SideMenuData.basemenus,this.setBaseMenuPosition)},mounted:function(){var t=this,e=this;LS.EventBus.$on("updateSideBar",(function(e){t.loading=!0;var n=[Promise.resolve()];e.updateQuestions&&n.push(t.$store.dispatch("getQuestions")),e.collectMenus&&n.push(t.$store.dispatch("collectMenus")),e.activeMenuIndex&&(t.controlActiveLink(),n.push(Promise.resolve())),Promise.all(n).then((function(t){})).catch((function(e){t.$log.error(e)})).finally((function(){t.loading=!1}))})),$(document).trigger("sidebar:mounted"),e.calculateHeight(e),window.addEventListener("resize",(function(){e.calculateHeight(e)})),$(document).on("pjax:send",(function(){t.useMobileView&&t.smallScreenHidden&&(t.smallScreenHidden=!1)})),$(document).on("vue-sidemenu-update-link",(function(){t.controlActiveLink()})),$(document).on("vue-reload-remote",(function(){t.$log.log("vue-reload-remote"),t.$store.dispatch("getQuestions"),t.$store.dispatch("collectMenus"),t.updatePjaxLinks()})),$(document).on("vue-redraw",(function(){t.$log.log("vue-redraw"),t.$store.dispatch("getQuestions"),t.$store.dispatch("collectMenus")})),this.controlActiveLink(),this.updatePjaxLinks(),$("body").on("mousemove",(function(t){e.mousemove(t,e)})),""!==this.landOnTab&&this.changeCurrentTab(this.landOnTab)}},U=G,W=(n("d399"),f(U,i,o,!1,null,"3269e70e",null)),V=W.exports,K=function(t){var e=Number(t.version.split(".")[0]);if(e>=2)t.mixin({beforeCreate:r});else{var n=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[r].concat(t.init):r,n.call(this,t)}}function r(){var t=this.$options;t.store?this.$store="function"===typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}},J="undefined"!==typeof window&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Z(t){J&&(t._devtoolHook=J,J.emit("vuex:init",t),J.on("vuex:travel-to-state",(function(e){t.replaceState(e)})),t.subscribe((function(t,e){J.emit("vuex:mutation",t,e)})))}function X(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function Y(t){return null!==t&&"object"===typeof t}function tt(t){return t&&"function"===typeof t.then}var et=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},nt={namespaced:{configurable:!0}};nt.namespaced.get=function(){return!!this._rawModule.namespaced},et.prototype.addChild=function(t,e){this._children[t]=e},et.prototype.removeChild=function(t){delete this._children[t]},et.prototype.getChild=function(t){return this._children[t]},et.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},et.prototype.forEachChild=function(t){X(this._children,t)},et.prototype.forEachGetter=function(t){this._rawModule.getters&&X(this._rawModule.getters,t)},et.prototype.forEachAction=function(t){this._rawModule.actions&&X(this._rawModule.actions,t)},et.prototype.forEachMutation=function(t){this._rawModule.mutations&&X(this._rawModule.mutations,t)},Object.defineProperties(et.prototype,nt);var rt=function(t){this.register([],t,!1)};function it(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;it(t.concat(r),e.getChild(r),n.modules[r])}}rt.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},rt.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},rt.prototype.update=function(t){it([],this.root,t)},rt.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new et(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&X(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},rt.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var ot;var at=function(t){var e=this;void 0===t&&(t={}),!ot&&"undefined"!==typeof window&&window.Vue&&bt(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.state;void 0===i&&(i={}),"function"===typeof i&&(i=i()||{}),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new rt(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new ot;var o=this,a=this,u=a.dispatch,s=a.commit;this.dispatch=function(t,e){return u.call(o,t,e)},this.commit=function(t,e,n){return s.call(o,t,e,n)},this.strict=r,ft(this,i,[],this._modules.root),lt(this,i),n.forEach((function(t){return t(e)})),ot.config.devtools&&Z(this)},ut={state:{configurable:!0}};function st(t,e){return e.indexOf(t)<0&&e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function ct(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;ft(t,n,[],t._modules.root,!0),lt(t,n,e)}function lt(t,e,n){var r=t._vm;t.getters={};var i=t._wrappedGetters,o={};X(i,(function(e,n){o[n]=function(){return e(t)},Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var a=ot.config.silent;ot.config.silent=!0,t._vm=new ot({data:{$$state:e},computed:o}),ot.config.silent=a,t.strict&&mt(t),r&&(n&&t._withCommit((function(){r._data.$$state=null})),ot.nextTick((function(){return r.$destroy()})))}function ft(t,e,n,r,i){var o=!n.length,a=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[a]=r),!o&&!i){var u=yt(e,n.slice(0,-1)),s=n[n.length-1];t._withCommit((function(){ot.set(u,s,r.state)}))}var c=r.context=pt(t,a,n);r.forEachMutation((function(e,n){var r=a+n;ht(t,r,e,c)})),r.forEachAction((function(e,n){var r=e.root?n:a+n,i=e.handler||e;vt(t,r,i,c)})),r.forEachGetter((function(e,n){var r=a+n;gt(t,r,e,c)})),r.forEachChild((function(r,o){ft(t,e,n.concat(o),r,i)}))}function pt(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=_t(n,r,i),a=o.payload,u=o.options,s=o.type;return u&&u.root||(s=e+s),t.dispatch(s,a)},commit:r?t.commit:function(n,r,i){var o=_t(n,r,i),a=o.payload,u=o.options,s=o.type;u&&u.root||(s=e+s),t.commit(s,a,u)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return dt(t,e)}},state:{get:function(){return yt(t.state,n)}}}),i}function dt(t,e){var n={},r=e.length;return Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),n}function ht(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function vt(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e,i){var o=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e,i);return tt(o)||(o=Promise.resolve(o)),t._devtoolHook?o.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):o}))}function gt(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function mt(t){t._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function yt(t,e){return e.length?e.reduce((function(t,e){return t[e]}),t):t}function _t(t,e,n){return Y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function bt(t){ot&&t===ot||(ot=t,K(ot))}ut.state.get=function(){return this._vm._data.$$state},ut.state.set=function(t){0},at.prototype.commit=function(t,e,n){var r=this,i=_t(t,e,n),o=i.type,a=i.payload,u=(i.options,{type:o,payload:a}),s=this._mutations[o];s&&(this._withCommit((function(){s.forEach((function(t){t(a)}))})),this._subscribers.forEach((function(t){return t(u,r.state)})))},at.prototype.dispatch=function(t,e){var n=this,r=_t(t,e),i=r.type,o=r.payload,a={type:i,payload:o},u=this._actions[i];if(u)return this._actionSubscribers.forEach((function(t){return t(a,n.state)})),u.length>1?Promise.all(u.map((function(t){return t(o)}))):u[0](o)},at.prototype.subscribe=function(t){return st(t,this._subscribers)},at.prototype.subscribeAction=function(t){return st(t,this._actionSubscribers)},at.prototype.watch=function(t,e,n){var r=this;return this._watcherVM.$watch((function(){return t(r.state,r.getters)}),e,n)},at.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},at.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),ft(this,this.state,t,this._modules.get(t),n.preserveState),lt(this,this.state)},at.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=yt(e.state,t.slice(0,-1));ot.delete(n,t[t.length-1])})),ct(this)},at.prototype.hotUpdate=function(t){this._modules.update(t),ct(this,!0)},at.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(at.prototype,ut);var wt=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=Ct(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),xt=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=Ct(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),St=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||Ct(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),$t=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=Ct(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),Ot=function(t){return{mapState:wt.bind(null,t),mapGetters:St.bind(null,t),mapMutations:xt.bind(null,t),mapActions:$t.bind(null,t)}};function At(t){return Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}}))}function kt(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function Ct(t,e,n){var r=t._modulesNamespaceMap[n];return r}var jt={Store:at,install:bt,version:"2.5.0",mapState:wt,mapMutations:xt,mapGetters:St,mapActions:$t,createNamespacedHelpers:Ot},Tt=jt,Mt=n("da81"),Et=n.n(Mt);(function(){function t(){}Object.defineProperty(t.prototype,"length",{get:function(){return Object.keys(this).length},enumerable:!0,configurable:!0}),t.prototype.key=function(t){return Object.keys(this)[t]},t.prototype.setItem=function(t,e){this[t]=e.toString()},t.prototype.getItem=function(t){return this[t]},t.prototype.removeItem=function(t){delete this[t]},t.prototype.clear=function(){for(var t=0,e=Object.keys(this);t0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];Yt(this,t),this.param=e,this.silencer=n,this.collector=[],this.currentGroupDescription="",this.activeGroups=0,this.timeHolder=null,this.methods=["group","groupEnd","log","trace","time","timeEnd","error","warn"],this.silent={group:function(){},groupEnd:function(){},log:function(){},trace:function(){},time:function(){},timeEnd:function(){},error:function(){},err:function(){},debug:function(){},warn:function(){}}}return re(t,[{key:"_generateError",value:function(){try{throw new Error}catch(t){return t}}},{key:"_insertParamToArguments",value:function(t){if(""!==this.param){var e=Xt(t);return e.unshift(this.param),e}return Array.from(arguments)}},{key:"setSilent",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.silencer=t||!this.silencer}},{key:"group",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);if("function"!==typeof console.group){var e=t[0]||"GROUP";this.currentGroupDescription=e,this.activeGroups++}else console.group.apply(console,t)}}},{key:"groupEnd",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);"function"!==typeof console.groupEnd?(this.currentGroupDescription="",this.activeGroups--,this.activeGroups=0===this.activeGroups?0:this.activeGroups--):console.groupEnd.apply(console,t)}}},{key:"log",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);"function"!==typeof console.group?(t.shift(),t.unshift(" ".repeat(2*this.activeGroups)),this.log.apply(this,t)):console.log.apply(console,t)}}},{key:"trace",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);if("function"!==typeof console.trace){var e=this._generateError();e.stack?this.log.apply(console,e.stack):(this.log(t),void 0!=arguments.callee&&this.trace.apply(console,arguments.callee))}else console.trace.apply(console,t)}}},{key:"time",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);"function"!==typeof console.time?this.timeHolder=new Date:console.time.apply(console,t)}}},{key:"timeEnd",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);if("function"!==typeof console.timeEnd){var e=new Date-this.timeHolder;this.log("Took ".concat(Math.floor(e/36e5)," hours, ").concat(Math.floor(e/6e4)," minutes and ").concat(Math.floor(e/1e3)," seconds ( ").concat(e," ms)")),this.time=new Date}else console.timeEnd.apply(console,t)}}},{key:"error",value:function(){var t=this._insertParamToArguments(arguments);"function"!==typeof console.error?(this.log("--- ERROR ---"),this.log(t)):console.error.apply(console,t)}},{key:"warn",value:function(){var t=this._insertParamToArguments(arguments);"function"!==typeof console.warn?(this.log("--- WARN ---"),this.log(t)):console.warn.apply(console,t)}}]),t}(),oe=ie,ae=new oe("adminsidepanel");window.debugState.backend||ae.setSilent(!0);var ue=function(t){t.prototype.$log=ae},se={updatePjax:function(t){var e=t.commit;$(document).trigger("pjax:refresh"),e("newToggleKey")},getSidemenus:function(t){return new Promise((function(e,n){a.methods.get(window.SideMenuData.getMenuUrl,{position:"side"}).then((function(n){ae.log("sidemenues",n);var r=LS.ld.orderBy(n.data.menues,(function(t){return parseInt(t.order||999999)}),["desc"]);t.commit("updateSidemenus",r),t.dispatch("updatePjax"),e()})).catch((function(t){n(t)}))}))},getCollapsedmenus:function(t){return new Promise((function(e,n){a.methods.get(window.SideMenuData.getMenuUrl,{position:"collapsed"}).then((function(n){ae.log("quickmenu",n);var r=LS.ld.orderBy(n.data.menues,(function(t){return parseInt(t.order||999999)}),["desc"]);t.commit("updateCollapsedmenus",r),t.dispatch("updatePjax"),e()})).catch((function(t){n(t)}))}))},getQuestions:function(t){return new Promise((function(e,n){a.methods.get(window.SideMenuData.getQuestionsUrl).then((function(n){ae.log("Questions",n);var r=n.data.groups;t.commit("updateQuestiongroups",r),t.dispatch("updatePjax"),e()})).catch((function(t){n(t)}))}))},collectMenus:function(t){return Promise.all([t.dispatch("getSidemenus"),t.dispatch("getCollapsedmenus")])},unlockLockOrganizer:function(t){return new Promise((function(e,n){a.methods.post(window.SideMenuData.unlockLockOrganizerUrl,{setting:"lock_organizer",newValue:t.state.allowOrganizer?"0":"1"}).then((function(e){ae.log("setUsersettingLog",e),t.commit("setAllowOrganizer",parseInt(e.data.result))})).catch((function(t){n(t)}))}))},changeCurrentTab:function(t,e){t.commit("changeCurrentTab",e),t.dispatch("collectMenus"),t.dispatch("getQuestions")}};r["a"].use(qt.a),r["a"].use(Tt);var ce=function(t,e){var n="limesurveyadminsidepanel",r=new Dt({key:n+"_"+t+"_"+e,storage:window.sessionStorage});return new Tt.Store({state:Ft(t),plugins:[r.plugin],getters:Bt,mutations:zt,actions:se})},le=ce,fe=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:" loader--loaderWidget ls-flex ls-flex-column align-content-center align-items-center",staticStyle:{"min-height":"100%"},attrs:{id:"loader-"+t.id}},[n("div",{staticClass:"ls-flex align-content-center align-items-center"},[n("div",{staticClass:"loader-adminpanel text-center",class:t.extraClass},[t._m(0)])])])},pe=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"contain-pulse animate-pulse"},[n("div",{staticClass:"square"}),n("div",{staticClass:"square"}),n("div",{staticClass:"square"}),n("div",{staticClass:"square"})])}],de={name:"loaderWidget",props:{id:{type:String,default:Math.floor(1e3*Math.random())},extraClass:{type:String,default:""}}},he=de,ve=(n("6a47"),f(he,fe,pe,!1,null,"d2d9edba",null)),ge=ve.exports;r["a"].config.ignoredElements=["x-test"],r["a"].config.devtools=!0,r["a"].use(ue),r["a"].component("loader-widget",ge),r["a"].mixin({methods:{updatePjaxLinks:function(){this.$forceUpdate(),this.$store.commit("newToggleKey")},redoTooltips:function(){window.LS.doToolTip()},translate:function(t){return window.SideMenuData.translate[t]||t}},filters:{translate:function(t){return window.SideMenuData.translate[t]||t}}});var me=function(t,e){var n=le(t,e),i={},o=function(t){0!=e&&t.commit("updateSurveyId",e)},a=function(){var t=$("body").find("nav").first().height(),e=$("body").find("footer").last().height(),n=$(".menubar").outerHeight(),r=t+e+n+25,o=window.innerHeight,a=o-r,u=100*(1-parseInt($("#sidebar").width())/$("#vue-apps-main-container").width()),s=100*(1-parseInt("98px")/$("#vue-apps-main-container").width()),c=Math.floor($("#sidebar").data("collapsed")?u:s)+"%";i["surveyViewHeight"]=a,i["surveyViewWidth"]=c,$("#fullbody-container").css({"max-width":c,"overflow-x":"auto"})},u=function(){return new r["a"]({el:"#vue-sidebar-container",store:n,components:{sidebar:V},created:function(){var t=this;$(document).on("vue-sidebar-collapse",(function(){t.$store.commit("changeIsCollapsed",!0)}))},mounted:function(){var t=this;o(this.$store);var e=$("#in_survey_common").height()-35||400;this.$store.commit("changeMaxHeight",e),this.$store.commit("setAllowOrganizer",window.SideMenuData.allowOrganizer),this.updatePjaxLinks(),$(document).on("vue-redraw",(function(){t.updatePjaxLinks()})),$(document).trigger("vue-reload-remote")}})},s=function(){i.reloadcounter=5,$(document).off("pjax:send.panelloading").on("pjax:send.panelloading",(function(){$('
').appendTo("body"),$(".ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-draggable.ui-resizable").remove(),$("#pjax-file-load-container").find("div").css({width:"20%",display:"block"}),LS.adminsidepanel.reloadcounter--})),$(document).off("pjax:error.panelloading").on("pjax:error.panelloading",(function(t){console.ls.log(t)})),$(document).off("pjax:complete.panelloading").on("pjax:complete.panelloading",(function(){0===LS.adminsidepanel.reloadcounter&&location.reload()})),$(document).off("pjax:scriptcomplete.panelloading").on("pjax:scriptcomplete.panelloading",(function(){$("#pjax-file-load-container").find("div").css("width","100%"),$("#pjaxClickInhibitor").fadeOut(400,(function(){$(this).remove()})),$(document).trigger("vue-resize-height"),$(document).trigger("vue-reload-remote"),setTimeout((function(){$("#pjax-file-load-container").find("div").css({width:"0%",display:"none"})}),2200)}))},c=function(){window.singletonPjax(),document.getElementById("vue-sidebar-container")&&(i["sidemenu"]=u()),$(document).on("click","ul.pagination>li>a",(function(){$(document).trigger("pjax:refresh")})),a(),window.addEventListener("resize",LS.ld.debounce(a,300)),$(document).on("vue-resize-height",LS.ld.debounce(a,300)),s()};return LS.adminCore.addToNamespace(i,"adminsidepanel"),c};$(document).ready((function(){var t="newSurvey";void 0!=window.LS&&(t=window.LS.parameters.$GET.surveyid||window.LS.parameters.keyValuePairs.surveyid),window.SideMenuData&&(t=window.SideMenuData.surveyid),window.adminsidepanel=window.adminsidepanel||me(window.LS.globalUserId,t),window.adminsidepanel()}))},"7a56":function(t,e,n){"use strict";var r=n("7726"),i=n("86cc"),o=n("9e1e"),a=n("2b4c")("species");t.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},"7cd6":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},"7e90":function(t,e,n){var r=n("d9f6"),i=n("e4ae"),o=n("c3a1");t.exports=n("8e60")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),u=a.length,s=0;while(u>s)r.f(t,n=a[s++],e[n]);return t}},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},8079:function(t,e,n){var r=n("7726"),i=n("1991").set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,s="process"==n("2d95")(a);t.exports=function(){var t,e,n,c=function(){var r,i;s&&(r=a.domain)&&r.exit();while(t){i=t.fn,t=t.next;try{i()}catch(o){throw t?n():e=void 0,o}}e=void 0,r&&r.enter()};if(s)n=function(){a.nextTick(c)};else if(!o||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var l=u.resolve(void 0);n=function(){l.then(c)}}else n=function(){i.call(r,c)};else{var f=!0,p=document.createTextNode("");new o(c).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},8378:function(t,e){var n=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},8436:function(t,e){t.exports=function(){}},"84f2":function(t,e){t.exports={}},"85f2":function(t,e,n){t.exports=n("454f")},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8b97":function(t,e,n){var r=n("d3f4"),i=n("cb7c"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},"8c57":function(t,e,n){"use strict";var r=n("f7bc"),i=n.n(r);i.a},"8e60":function(t,e,n){t.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8f60":function(t,e,n){"use strict";var r=n("a159"),i=n("aebd"),o=n("45f2"),a={};n("35e8")(a,n("5168")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},9003:function(t,e,n){var r=n("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},9138:function(t,e,n){t.exports=n("35e8")},"95d5":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},9744:function(t,e,n){"use strict";var r=n("4588"),i=n("be13");t.exports=function(t){var e=String(i(this)),n="",o=r(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9c80":function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},"9def":function(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a026:function(t,e,n){"use strict";(function(t){ +var n="~",r="\\x"+("0"+n.charCodeAt(0).toString(16)).slice(-2),i="\\"+r,o=new RegExp(r,"g"),a=new RegExp(i,"g"),u=new RegExp("(?:^|([^\\\\]))"+i),s=[].indexOf||function(t){for(var e=this.length;e--&&this[e]!==t;);return e},c=String;function l(t,e,a){var u,c,l=!1,f=!!e,p=[],d=[t],h=[t],v=[a?n:"[Circular]"],g=t,m=1;return f&&(c="object"===typeof e?function(t,n){return""!==t&&e.indexOf(t)<0?void 0:n}:e),function(t,e){return f&&(e=c.call(this,t,e)),l?(g!==this&&(u=m-s.call(d,this)-1,m-=u,d.splice(m,d.length),p.splice(m-1,p.length),g=this),"object"===typeof e&&e?(s.call(d,e)<0&&d.push(g=e),m=d.length,u=s.call(h,e),u<0?(u=h.push(e)-1,a?(p.push((""+t).replace(o,r)),v[u]=n+p.join(n)):v[u]=v[0]):e=v[u]):"string"===typeof e&&a&&(e=e.replace(r,i).replace(n,r))):l=!0,e}}function f(t,e){for(var r=0,i=e.length;r1?arguments[1]:void 0,g=void 0!==v,m=0,y=l(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),void 0==y||d==Array&&u(y))for(e=s(p.length),n=new d(e);e>m;m++)c(n,m,g?v(p[m],m):p[m]);else for(f=y.call(p),n=new d;!(i=f.next()).done;m++)c(n,m,g?a(f,v,[i.value,m],!0):i.value);return n.length=m,n}})},"54a1":function(t,e,n){n("6c1c"),n("1654"),t.exports=n("95d5")},"551c":function(t,e,n){"use strict";var r,i,o,a,u=n("2d00"),s=n("7726"),c=n("9b43"),l=n("23c6"),f=n("5ca1"),p=n("d3f4"),d=n("d8e8"),h=n("f605"),v=n("4a59"),g=n("ebd6"),m=n("1991").set,y=n("8079")(),_=n("a5b8"),b=n("9c80"),w=n("a25f"),x=n("bcaa"),S="Promise",$=s.TypeError,O=s.process,A=O&&O.versions,k=A&&A.v8||"",C=s[S],j="process"==l(O),T=function(){},M=i=_.f,E=!!function(){try{var t=C.resolve(1),e=(t.constructor={})[n("2b4c")("species")]=function(t){t(T,T)};return(j||"function"==typeof PromiseRejectionEvent)&&t.then(T)instanceof e&&0!==k.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(r){}}(),L=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},I=function(t,e){if(!t._n){t._n=!0;var n=t._c;y((function(){var r=t._v,i=1==t._s,o=0,a=function(e){var n,o,a,u=i?e.ok:e.fail,s=e.resolve,c=e.reject,l=e.domain;try{u?(i||(2==t._h&&D(t),t._h=1),!0===u?n=r:(l&&l.enter(),n=u(r),l&&(l.exit(),a=!0)),n===e.promise?c($("Promise-chain cycle")):(o=L(n))?o.call(n,s,c):s(n)):c(r)}catch(f){l&&!a&&l.exit(),c(f)}};while(n.length>o)a(n[o++]);t._c=[],t._n=!1,e&&!t._h&&P(t)}))}},P=function(t){m.call(s,(function(){var e,n,r,i=t._v,o=N(t);if(o&&(e=b((function(){j?O.emit("unhandledRejection",i,t):(n=s.onunhandledrejection)?n({promise:t,reason:i}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",i)})),t._h=j||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v}))},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},D=function(t){m.call(s,(function(){var e;j?O.emit("rejectionHandled",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})}))},R=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),I(e,!0))},q=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw $("Promise can't be resolved itself");(e=L(t))?y((function(){var r={_w:n,_d:!1};try{e.call(t,c(q,r,1),c(R,r,1))}catch(i){R.call(r,i)}})):(n._v=t,n._s=1,I(n,!1))}catch(r){R.call({_w:n,_d:!1},r)}}};E||(C=function(t){h(this,C,S,"_h"),d(t),r.call(this);try{t(c(q,this,1),c(R,this,1))}catch(e){R.call(this,e)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n("dcbc")(C.prototype,{then:function(t,e){var n=M(g(this,C));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=j?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&I(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r;this.promise=t,this.resolve=c(q,t,1),this.reject=c(R,t,1)},_.f=M=function(t){return t===C||t===a?new o(t):i(t)}),f(f.G+f.W+f.F*!E,{Promise:C}),n("7f20")(C,S),n("7a56")(S),a=n("8378")[S],f(f.S+f.F*!E,S,{reject:function(t){var e=M(this),n=e.reject;return n(t),e.promise}}),f(f.S+f.F*(u||!E),S,{resolve:function(t){return x(u&&this===a?C:this,t)}}),f(f.S+f.F*!(E&&n("5cc5")((function(t){C.all(t)["catch"](T)}))),S,{all:function(t){var e=this,n=M(e),r=n.resolve,i=n.reject,o=b((function(){var n=[],o=0,a=1;v(t,!1,(function(t){var u=o++,s=!1;n.push(void 0),a++,e.resolve(t).then((function(t){s||(s=!0,n[u]=t,--a||r(n))}),i)})),--a||r(n)}));return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=M(e),r=n.reject,i=b((function(){v(t,!1,(function(t){e.resolve(t).then(n.resolve,r)}))}));return i.e&&r(i.v),n.promise}})},5537:function(t,e,n){var r=n("8378"),i=n("7726"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(t,e,n){var r=n("dbdb")("keys"),i=n("62a0");t.exports=function(t){return r[t]||(r[t]=i(t))}},"584a":function(t,e){var n=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"5b4e":function(t,e,n){var r=n("36c3"),i=n("b447"),o=n("0fc9");t.exports=function(t){return function(e,n,a){var u,s=r(e),c=i(s.length),l=o(a,c);if(t&&n!=n){while(c>l)if(u=s[l++],u!=u)return!0}else for(;c>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}}},"5ca1":function(t,e,n){var r=n("7726"),i=n("8378"),o=n("32e9"),a=n("2aba"),u=n("9b43"),s="prototype",c=function(t,e,n){var l,f,p,d,h=t&c.F,v=t&c.G,g=t&c.S,m=t&c.P,y=t&c.B,_=v?r:g?r[e]||(r[e]={}):(r[e]||{})[s],b=v?i:i[e]||(i[e]={}),w=b[s]||(b[s]={});for(l in v&&(n=e),n)f=!h&&_&&void 0!==_[l],p=(f?_:n)[l],d=y&&f?u(p,r):m&&"function"==typeof p?u(Function.call,p):p,_&&a(_,l,p,t&c.U),b[l]!=p&&o(b,l,d),m&&w[l]!=p&&(w[l]=p)};r.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},"5cc5":function(t,e,n){var r=n("2b4c")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],u=o[r]();u.next=function(){return{done:n=!0}},o[r]=function(){return u},t(o)}catch(a){}return n}},"5dbc":function(t,e,n){var r=n("d3f4"),i=n("8b97").set;t.exports=function(t,e,n){var o,a=e.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},"5df3":function(t,e,n){"use strict";var r=n("02f4")(!0);n("01f9")(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},"5f1b":function(t,e,n){"use strict";var r=n("23c6"),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var o=n.call(t,e);if("object"!==typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},"613b":function(t,e,n){var r=n("5537")("keys"),i=n("ca5a");t.exports=function(t){return r[t]||(r[t]=i(t))}},"626a":function(t,e,n){var r=n("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"62a0":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},"62e4":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"63b6":function(t,e,n){var r=n("e53d"),i=n("584a"),o=n("d864"),a=n("35e8"),u=n("07e3"),s="prototype",c=function(t,e,n){var l,f,p,d=t&c.F,h=t&c.G,v=t&c.S,g=t&c.P,m=t&c.B,y=t&c.W,_=h?i:i[e]||(i[e]={}),b=_[s],w=h?r:v?r[e]:(r[e]||{})[s];for(l in h&&(n=e),n)f=!d&&w&&void 0!==w[l],f&&u(_,l)||(p=f?w[l]:n[l],_[l]=h&&"function"!=typeof w[l]?n[l]:m&&f?o(p,r):y&&w[l]==p?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[s]=t[s],e}(p):g&&"function"==typeof p?o(Function.call,p):p,g&&((_.virtual||(_.virtual={}))[l]=p,t&c.R&&b&&!b[l]&&a(b,l,p)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},6821:function(t,e,n){var r=n("626a"),i=n("be13");t.exports=function(t){return r(i(t))}},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a99":function(t,e,n){var r=n("d3f4");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"6af4":function(t,e,n){},"6b4c":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"6b54":function(t,e,n){"use strict";n("3846");var r=n("cb7c"),i=n("0bfb"),o=n("9e1e"),a="toString",u=/./[a],s=function(t){n("2aba")(RegExp.prototype,a,t,!0)};n("79e5")((function(){return"/a/b"!=u.call({source:"a",flags:"b"})}))?s((function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):u.name!=a&&s((function(){return u.call(this)}))},"6c1c":function(t,e,n){n("c367");for(var r=n("e53d"),i=n("35e8"),o=n("481b"),a=n("5168")("toStringTag"),u="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),s=0;s=c?t?"":void 0:(o=u.charCodeAt(s),o<55296||o>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?t?u.charAt(s):o:t?u.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},7333:function(t,e,n){"use strict";var r=n("9e1e"),i=n("0d58"),o=n("2621"),a=n("52a7"),u=n("4bf8"),s=n("626a"),c=Object.assign;t.exports=!c||n("79e5")((function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r}))?function(t,e){var n=u(t),c=arguments.length,l=1,f=o.f,p=a.f;while(c>l){var d,h=s(arguments[l++]),v=f?i(h).concat(f(h)):i(h),g=v.length,m=0;while(g>m)d=v[m++],r&&!p.call(h,d)||(n[d]=h[d])}return n}:c},7514:function(t,e,n){"use strict";var r=n("5ca1"),i=n("0a49")(5),o="find",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(o)},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"774e":function(t,e,n){t.exports=n("d2d5")},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"794b":function(t,e,n){t.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7a1c":function(t,e,n){"use strict";n.r(e);n("7514"),n("cadf"),n("551c"),n("f751"),n("097d");var r=n("a026"),i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex ls-ba ls-space padding left-0 col-md-4 nofloat transition-animate-width scoped-hide-on-small",class:t.smallScreenHidden?"toggled":"",style:{"max-height":t.$store.state.inSurveyViewHeight,display:t.hiddenStateToggleDisplay},attrs:{id:"sidebar"},on:{mouseleave:t.mouseleave,mouseup:t.mouseup}},[t.useMobileView&&t.smallScreenHidden||!t.useMobileView?[t.showLoader?n("div",{key:"dragaroundLoader",staticClass:"sidebar_loader",style:{width:t.getSideBarWidth,height:t.getloaderHeight}},[t._m(0)]):t._e(),n("div",{key:"mainContentContainer",staticClass:"col-12 fill-height ls-space padding all-0 mainContentContainer",staticStyle:{height:"100%"}},[n("div",{staticClass:"mainMenu container-fluid col-12 ls-space padding right-0 fill-height"},[n("sidebar-state-toggle",{on:{collapse:t.toggleCollapse}}),n("transition",{attrs:{name:"slide-fade"}},[n("sidemenu",{directives:[{name:"show",rawName:"v-show",value:t.showSideMenu,expression:"showSideMenu"}],style:{"min-height":t.calculateSideBarMenuHeight},attrs:{loading:t.loading},on:{changeLoadingState:t.applyLoadingState}})],1),n("transition",{attrs:{name:"slide-fade"}},[n("questionexplorer",{directives:[{name:"show",rawName:"v-show",value:t.showQuestionTree,expression:"showQuestionTree"}],style:{"min-height":t.calculateSideBarMenuHeight},attrs:{loading:t.loading},on:{changeLoadingState:t.applyLoadingState,openentity:t.openEntity,questiongrouporder:t.changedQuestionGroupOrder}})],1),n("transition",{attrs:{name:"slide-fade"}},[n("quickmenu",{directives:[{name:"show",rawName:"v-show",value:t.$store.getters.isCollapsed,expression:"$store.getters.isCollapsed"}],style:{"min-height":t.calculateSideBarMenuHeight},attrs:{loading:t.loading},on:{changeLoadingState:t.applyLoadingState}})],1)],1)])]:t._e(),t.useMobileView&&!t.smallScreenHidden||!t.useMobileView?n("div",{key:"resizeHandle",staticClass:"resize-handle ls-flex-column",style:{height:t.calculateSideBarMenuHeight,"max-height":t.getWindowHeight}},[n("button",{directives:[{name:"show",rawName:"v-show",value:!t.$store.getters.isCollapsed,expression:"!$store.getters.isCollapsed"}],staticClass:"btn btn-default",on:{mousedown:t.mousedown,click:function(t){return t.preventDefault(),function(){return!1}()}}},[n("i",{staticClass:"fa fa-ellipsis-v"})])]):t._e(),t.useMobileView&&t.smallScreenHidden?n("div",{staticClass:"scoped-placeholder-greyed-area",domProps:{innerHTML:t._s(" ")},on:{click:t.toggleSmallScreenHide}}):t._e()],2)},o=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex ls-flex-column fill align-content-center align-items-center"},[n("i",{staticClass:"fa fa-circle-o-notch fa-2x fa-spin"})])}],a=(n("5df3"),n("3b2b"),n("b54a"),n("aef6"),n("ac6a"),n("2ef0"),{methods:{_runAjax:function(t,e,n){return e=e||{},n=n||"get",new Promise((function(r,i){void 0==$&&i("JQUERY NOT AVAILABLE!"),$.ajax({url:t,method:n||"get",data:e,dataType:"json",success:function(t,e,n){r({success:!0,data:t,transferStatus:e,xhr:n})},error:function(t,e,n){var r=t.responseJSON||t.responseText;i({success:!1,error:n,data:r,transferStatus:e,xhr:t})}})}))},post:function(t,e){return this._runAjax(t,e,"post")},get:function(t,e){return this._runAjax(t,e,"get")},delete:function(t,e){return this._runAjax(t,e,"delete")},put:function(t,e){return this._runAjax(t,e,"put")}}}),u=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex-column fill ls-ba menu-pane ls-space padding left-0 top-0 bottom-0 right-5 margin top-5",attrs:{id:"questionexplorer"}},[""!=t.createAllowance?n("div",{staticClass:"ls-flex-row wrap align-content-center align-items-center ls-space margin top-5 bottom-15 button-sub-bar"},[n("div",{staticClass:"scoped-toolbuttons-left"},[void 0!=t.createQuestionGroupLink&&t.createQuestionGroupLink.length>1?n("a",{staticClass:"btn btn-small btn-primary pjax",attrs:{id:"adminsidepanel__sidebar--selectorCreateQuestionGroup",href:t.createQuestionGroupLink}},[n("i",{staticClass:"fa fa-plus"}),t._v(" \n "+t._s(t._f("translate")("createPage"))+"\n ")]):t._e(),t.createQuestionAllowed?n("a",{staticClass:"btn btn-small btn-default ls-space margin right-10 pjax",attrs:{id:"adminsidepanel__sidebar--selectorCreateQuestion",href:t.createFullQuestionLink()}},[n("i",{staticClass:"fa fa-plus-circle"}),t._v(" \n "+t._s(t._f("translate")("createQuestion"))+"\n ")]):t._e()]),n("div",{staticClass:"scoped-toolbuttons-right"},[n("button",{staticClass:"btn btn-default",attrs:{title:t.translate(t.allowOrganizer?"lockOrganizerTitle":"unlockOrganizerTitle")},on:{click:t.toggleOrganizer}},[n("i",{class:t.allowOrganizer?"fa fa-unlock":"fa fa-lock"})]),n("button",{staticClass:"btn btn-default",attrs:{title:t.translate("collapseAll")},on:{click:t.collapseAll}},[n("i",{staticClass:"fa fa-compress"})])])]):t._e(),n("div",{staticClass:"ls-flex-row ls-space padding all-0"},[n("ul",{staticClass:"list-group col-12 questiongroup-list-group",on:{drop:function(e){return t.dropQuestionGroup(e,t.questiongroup)}}},t._l(t.orderedQuestionGroups,(function(e){return n("li",{key:e.gid,staticClass:"list-group-item ls-flex-column",class:t.questionGroupItemClasses(e),on:{dragenter:function(n){return t.dragoverQuestiongroup(n,e)}}},[n("div",{staticClass:"col-12 ls-flex-row nowrap ls-space padding right-5 bottom-5"},[t.surveyIsActive?t._e():n("i",{staticClass:"fa fa-bars bigIcons dragPointer",class:t.allowOrganizer?"":"disabled",attrs:{draggable:t.allowOrganizer},on:{dragend:function(n){return t.endDraggingGroup(n,e)},dragstart:function(n){return t.startDraggingGroup(n,e)},click:function(t){return t.stopPropagation(),t.preventDefault(),function(){return!1}()}}},[t._v("\n  \n ")]),n("a",{staticClass:"col-12 pjax",attrs:{href:e.link},on:{click:function(n){return n.stopPropagation(),t.openQuestionGroup(e)}}},[n("span",{class:t.$store.getters.isRTL?"question_text_ellipsize pull-right":"question_text_ellipsize pull-left",style:{"max-width":t.itemWidth}},[t._v("\n "+t._s(e.group_name)+" \n ")]),n("span",{class:t.$store.getters.isRTL?"badge ls-space margin right-5 pull-left":"badge ls-space margin right-5 pull-right"},[t._v("\n "+t._s(e.questions.length)+"\n ")])]),n("i",{staticClass:"fa bigIcons",class:t.isOpen(e.gid)?"fa-caret-up":"fa-caret-down",on:{click:function(n){return n.preventDefault(),t.toggleActivation(e.gid)}}},[t._v(" ")])]),n("transition",{attrs:{name:"slide-fade-down"}},[t.isOpen(e.gid)?n("ul",{staticClass:"list-group background-muted padding-left question-question-list",on:{drop:function(e){return t.dropQuestion(e,t.question)}}},t._l(t.orderQuestions(e.questions),(function(r){return n("li",{key:r.qid,staticClass:"list-group-item question-question-list-item ls-flex-row align-itmes-flex-start",class:t.questionItemClasses(r),attrs:{"data-toggle":"tootltip","data-is-hidden":r.hidden,"data-questiontype":r.type,"data-has-condition":t.questionHasCondition(r),title:r.question_flat},on:{dragenter:function(n){return t.dragoverQuestion(n,r,e)}}},[t.$store.state.surveyActiveState?t._e():n("i",{staticClass:"fa fa-bars margin-right bigIcons dragPointer question-question-list-item-drag",class:t.allowOrganizer?"":"disabled",attrs:{draggable:t.allowOrganizer},on:{dragend:function(e){return t.endDraggingQuestion(e,r)},dragstart:function(n){return t.startDraggingQuestion(n,r,e)},click:function(t){return t.stopPropagation(),t.preventDefault(),function(){return!1}()}}},[t._v("\n  \n ")]),n("a",{staticClass:"col-9 pjax question-question-list-item-link display-as-container",attrs:{href:r.link},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.openQuestion(r)}}},[n("span",{staticClass:"question_text_ellipsize",class:{"question-hidden":r.hidden},style:{width:t.itemWidth}},[t._v("\n ["+t._s(r.title)+"] › "+t._s(r.question_flat)+" \n ")])])])})),0):t._e()])],1)})),0)])])},s=[],c={mixins:[a],data:function(){return{active:[],questiongroupDragging:!1,draggedQuestionGroup:null,questionDragging:!1,draggedQuestion:null,draggedQuestionsGroup:null}},computed:{allowOrganizer:function(){return 1===this.$store.state.allowOrganizer},surveyIsActive:function(){return window.SideMenuData.isActive},createQuestionGroupLink:function(){return window.SideMenuData.createQuestionGroupLink},createQuestionLink:function(){return window.SideMenuData.createQuestionLink},calculatedHeight:function(){var t=this.$store.state.maxHeight;return t-100},orderedQuestionGroups:function(){return LS.ld.orderBy(this.$store.state.questiongroups,(function(t){return parseInt(t.group_order||999999)}),["asc"])},createQuestionAllowed:function(){return this.$store.state.questiongroups.length>0&&void 0!=this.createQuestionLink&&this.createQuestionLink.length>1},createAllowance:function(){var t=void 0!=this.createQuestionGroupLink&&this.createQuestionGroupLink.length>1?"g":"",e=this.createQuestionAllowed?"q":"";return t+e},itemWidth:function(){return parseInt(this.$store.state.sidebarwidth)-95+"px"}},methods:{toggleOrganizer:function(){this.$store.dispatch("unlockLockOrganizer")},collapseAll:function(){this.active=[]},createFullQuestionLink:function(){return LS.reparsedParameters().combined.gid?LS.createUrl(this.createQuestionLink,{gid:LS.reparsedParameters().combined.gid}):LS.createUrl(this.createQuestionLink,{})},questionHasCondition:function(t){return"1"!==t.relevance},questionItemClasses:function(t){var e="";return e+=this.$store.state.lastQuestionOpen===t.qid?"selected activated":" ",null!==this.draggedQuestion&&(e+=this.draggedQuestion.qid===t.qid?" dragged":" "),e},questionGroupItemClasses:function(t){var e="";return e+=this.isOpen(t.gid)?" selected ":" ",e+=this.isActive(t.gid)?" activated ":" ",null!==this.draggedQuestionGroup&&(e+=this.draggedQuestionGroup.gid===t.gid?" dragged":" "),e},orderQuestions:function(t){return LS.ld.orderBy(t,(function(t){return parseInt(t.question_order||999999)}),["asc"])},isActive:function(t){return t==this.$store.state.lastQuestionGroupOpen},isOpen:function(t){var e=-1!=LS.ld.indexOf(this.active,t);return!0!==this.questiongroupDragging&&e},toggleActivation:function(t){if(this.isOpen(t))LS.ld.remove(this.active,(function(e){return e===t}));else this.active.push(t);this.$store.commit("questionGroupOpenArray",this.active),this.updatePjaxLinks()},addActive:function(t){this.isOpen(t)||this.active.push(t),this.$store.commit("questionGroupOpenArray",this.active)},openQuestionGroup:function(t){this.addActive(t.gid),this.$store.commit("lastQuestionGroupOpen",t),this.updatePjaxLinks()},openQuestion:function(t){this.addActive(t.gid),this.$store.commit("lastQuestionOpen",t),this.updatePjaxLinks(),$(document).trigger("pjax:load",{url:t.link})},startDraggingGroup:function(t,e){this.draggedQuestionGroup=e,this.questiongroupDragging=!0,t.dataTransfer.setData("text/plain","node")},endDraggingGroup:function(t,e){null!==this.draggedQuestionGroup&&(this.draggedQuestionGroup=null,this.questiongroupDragging=!1,this.$emit("questiongrouporder"))},dragoverQuestiongroup:function(t,e){var n=this;if(void 0!=this.draggedQuestion&&null!=this.draggedQuestion||this.$log.log({this:this,questiongroupObject:e,draggedQuestion:this.draggedQuestion}),this.questiongroupDragging){var r=parseInt(e.group_order),i=parseInt(this.draggedQuestionGroup.group_order);1==Math.abs(parseInt(r)-parseInt(i))&&(e.group_order=i,this.draggedQuestionGroup.group_order=r)}else{if(window.SideMenuData.isActive)return;if(this.addActive(e.gid),this.draggedQuestion.gid!==e.gid){var o=LS.ld.remove(this.draggedQuestionsGroup.questions,(function(t,e){return t.qid===n.draggedQuestion.qid}));o.length>0&&(this.draggedQuestion.question_order=null,e.questions.push(this.draggedQuestion),this.draggedQuestion.gid=e.gid,e.group_order>this.draggedQuestionsGroup.group_order?(this.draggedQuestion.question_order=0,LS.ld.each(e.questions,(function(t,e){t.question_order=parseInt(t.question_order)+1}))):this.draggedQuestion.question_order=this.draggedQuestionsGroup.questions.length+1,this.draggedQuestionsGroup=e)}}},startDraggingQuestion:function(t,e,n){this.$log.log("Dragging started",e),t.dataTransfer.setData("application/node",this),this.questionDragging=!0,this.draggedQuestion=e,this.draggedQuestionsGroup=n},endDraggingQuestion:function(t,e){this.questionDragging&&(this.questionDragging=!1,this.draggedQuestion=null,this.draggedQuestionsGroup=null,this.$emit("questiongrouporder"))},dragoverQuestion:function(t,e,n){if(this.questionDragging){if(this.questionDragging.gid!==e.gid&&window.SideMenuData.isActive)return;var r=e.question_order;e.question_order=this.draggedQuestion.question_order,this.draggedQuestion.question_order=r}}},mounted:function(){this.active=this.$store.state.questionGroupOpenArray,this.updatePjaxLinks(),$(document).on("vue-reload-remote",(function(){}))}},l=c;n("8c57");function f(t,e,n,r,i,o,a,u){var s,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=s):i&&(s=u?function(){i.call(this,this.$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,e){return s.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,s):[s]}return{exports:t,options:c}}var p=f(l,u,s,!1,null,null,null),d=p.exports,h=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{key:t.currentKey,staticClass:"ls-space margin bottom-15 top-5 col-12",staticStyle:{height:"40px"}},[n("div",{staticClass:"ls-flex-row align-content-space-between align-items-flex-end ls-space padding left-0 right-10 bottom-0 top-0"},[n("transition",{attrs:{name:"fade"}},[t.$store.getters.isCollapsed?t._e():n("button",{staticClass:"btn btn-default ls-space padding left-15 right-15",on:{click:function(e){return t.$emit("collapse")}}},[n("i",{class:t.$store.getters.isRTL?"fa fa-chevron-right":"fa fa-chevron-left"})])]),n("transition",{attrs:{name:"fade"}},[t.$store.getters.isCollapsed?t._e():n("div",{staticClass:"ls-flex-item grow-10 col-12"},[n("div",{staticClass:"btn-group btn-group col-12"},[n("button",{staticClass:"btn col-6 force color white onhover tabbutton",class:"settings"==t.currentTab?"btn-primary":"btn-default",attrs:{id:"adminsidepanel__sidebar--selectorSettingsButton"},on:{click:function(e){t.currentTab="settings"}}},[t._v("\n "+t._s(t._f("translate")("settings"))+"\n ")]),n("button",{staticClass:"btn col-6 force color white onhover tabbutton",class:"questiontree"==t.currentTab?"btn-primary":"btn-default",attrs:{id:"adminsidepanel__sidebar--selectorStructureButton"},on:{click:function(e){t.currentTab="questiontree"}}},[t._v("\n "+t._s(t._f("translate")("structure"))+"\n ")])])])]),n("transition",{attrs:{name:"fade"}},[t.$store.getters.isCollapsed?n("button",{staticClass:"btn btn-default ls-space padding left-15 right-15",on:{click:function(e){return t.$emit("collapse")}}},[n("i",{class:t.$store.getters.isRTL?"fa fa-chevron-left":"fa fa-chevron-right"})]):t._e()])],1)])},v=[],g={name:"sidebar-state-toggle",computed:{currentKey:function(){return this.$store.state.toggleKey},currentTab:{get:function(){return this.$store.state.currentTab},set:function(t){this.$store.dispatch("changeCurrentTab",t)}}}},m=g,y=f(m,h,v,!1,null,null,null),_=y.exports,b=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex-column fill menu-pane overflow-enabled ls-space padding all-0 margin top-5"},[t._l(t.sortedMenues,(function(e){return n("div",{directives:[{name:"show",rawName:"v-show",value:!t.loadingState,expression:"!loadingState"}],key:e.id,staticClass:"ls-flex-row wrap ls-space padding all-0",attrs:{title:e.title,id:e.id}},[n("label",{staticClass:"menu-label"},[t._v(t._s(e.title))]),n("submenu",{attrs:{menu:e}})],1)})),t.loadingState?n("loader-widget",{attrs:{id:"sidemenuLoaderWidget"}}):t._e()],2)},w=[],x=(n("c5f6"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return"fontawesome"==t.iconType?n("i",{staticClass:"fa",class:"fa-"+t.icon},[t._v(" ")]):"image"==t.iconType?n("img",{attrs:{width:"32px",src:t.icon}}):"iconclass"==t.iconType?n("i",{class:t.icon},[t._v(" ")]):n("span")}),S=[],O={props:{icon:{type:String},iconType:{type:String}}},A=O,k=f(A,x,S,!1,null,null,null),C=k.exports,j=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ul",{staticClass:"list-group subpanel col-12",class:"level-"+t.menu.level},[t._l(t.sortedMenuEntries,(function(e){return n("a",{key:e.id,staticClass:"list-group-item",class:t.getLinkClass(e),attrs:{href:e.link,target:1==e.link_external?"_blank":"",id:"sidemenu_"+e.name},on:{click:function(n){return n.stopPropagation(),t.setActiveMenuItemIndex(e)}}},[n("div",{staticClass:"col-12",class:e.menu_class,attrs:{title:t.reConvertHTML(e.menu_description),"data-toggle":"tooltip"}},[n("div",{staticClass:"ls-space padding all-0",class:t.$store.state.lastMenuItemOpen==e.id?"col-sm-10":"col-sm-12"},[n("menuicon",{attrs:{"icon-type":e.menu_icon_type,icon:e.menu_icon}}),n("span",{domProps:{innerHTML:t._s(e.menu_title)}}),1==e.link_external?n("i",{staticClass:"fa fa-external-link"},[t._v(" ")]):t._e()],1),n("div",{directives:[{name:"show",rawName:"v-show",value:t.$store.state.lastMenuItemOpen==e.id,expression:"$store.state.lastMenuItemOpen == menuItem.id"}],staticClass:"col-sm-2 text-center ls-space padding all-0 background white"},[n("i",{staticClass:"fa fa-chevron-right"},[t._v(" ")])])])])})),t._l(t.menu.submenus,(function(e){return n("li",{key:e.id,staticClass:"list-group-item",class:t.checkIsOpen(e)?"menu-selected":"",on:{"!click":function(n){return n.stopPropagation(),t.setActiveMenuIndex(e)}}},[n("a",{staticClass:"ls-flex-row nowrap align-item-center align-content-center",class:t.checkIsOpen(e)?"ls-space margin bottom-5":"",attrs:{href:"#",title:t.reConvertHTML(e.description),"data-toggle":"tooltip"}},[n("div",{staticClass:"ls-space col-sm-10 padding all-0"},[n("menuicon",{attrs:{"icon-type":"fontawesome",icon:"arrow-right"}}),n("span",{domProps:{innerHTML:t._s(e.title)}})],1),n("div",{staticClass:"col-sm-2 text-center ls-space padding all-0",class:t.checkIsOpen(e)?"menu-open":""},[n("i",{staticClass:"fa fa-level-down"})])]),n("transition",{attrs:{name:"slide-fade-down"}},[t.checkIsOpen(e)?n("submenu",{attrs:{menu:e}}):t._e()],1)],1)}))],2)},T=[],M=(n("a481"),{name:"submenu",components:{menuicon:C},mixins:[a],props:{menu:{type:[Object,Array],required:!0}},data:function(){return{menues:{}}},computed:{sortedMenuEntries:function(){return LS.ld.orderBy(this.menu.entries,(function(t){return parseInt(t.ordering||999999)}),["asc"])}},methods:{setActiveMenuItemIndex:function(t){t.id;return this.$store.commit("lastMenuItemOpen",t),this.$log.log("Opened Menuitem",t),!0},checkIsOpen:function(t){var e=this,n=this.$store.state.lastMenuOpen==t.id,r=!1;return LS.ld.each(t.submenus,(function(t,n){r=e.$store.state.lastMenuOpen==t.id||r})),n||r||!1},setActiveMenuIndex:function(t){t.id;this.$store.commit("lastMenuOpen",t)},setOpenSubpanel:function(t){this.openSubpanelId=t,this.$emit("menuselected",t)},debugOut:function(t){return JSON.stringify(t)},getLinkClass:function(t){var e="ls-flex-row nowrap ";return e+=t.pjax?"pjax ":" ",e+=this.$store.state.lastMenuItemOpen==t.id?"selected ":" ",e},reConvertHTML:function(t){var e=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"],n=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"];return LS.ld.each(n,(function(n,r){t=t.replace(n,e[r])})),t}},created:function(){},mounted:function(){this.updatePjaxLinks(),this.redoTooltips()}}),E=M,L=f(E,j,T,!1,null,null,null),I=L.exports,P={name:"sidemenu",components:{menuicon:C,submenu:I},mixins:[a],props:{openSubpanelId:{type:Number},loading:{type:Boolean,default:!1}},data:function(){return{menues:{}}},computed:{sortedMenues:function(){return LS.ld.orderBy(this.$store.state.sidemenus,(function(t){return parseInt(t.ordering||999999)}),["asc"])},loadingState:{get:function(){return this.loading},set:function(t){this.$emit("changeLoadingState",t)}}},methods:{sortedMenuEntries:function(t){var e=LS.ld.orderBy(t,(function(t){return parseInt(t.ordering||999999)}),["asc"]);return e},setActiveMenuIndex:function(t){t.id;this.$store.commit("lastMenuOpen",t)},setActiveMenuItemIndex:function(t){t.id;this.$store.commit("lastMenuItemOpen",t)},setOpenSubpanel:function(t){this.openSubpanelId=t,this.$emit("menuselected",t)},debugOut:function(t){return JSON.stringify(t)}},created:function(){var t=this;this.$store.dispatch("getSidemenus").then((function(t){}),this.$log.error).finally((function(e){t.loadingState=!1}))},mounted:function(){this.updatePjaxLinks(),$(document).on("vue-reload-remote",(function(){}))}},N=P,D=f(N,b,w,!1,null,null,null),R=D.exports,q=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ls-flex-column fill"},[t._l(t.sortedMenues,(function(e){return n("div",{directives:[{name:"show",rawName:"v-show",value:!t.loadingState,expression:"!loadingState"}],key:e.title,staticClass:"ls-space margin top-10",attrs:{title:e.title}},[n("div",{staticClass:"btn-group-vertical ls-space padding right-10"},t._l(t.sortedMenuEntries(e.entries),(function(e){return n("a",{key:e.id,staticClass:"btn btn-icon",class:t.compileEntryClasses(e),attrs:{href:e.link,title:t.reConvertHTML(e.menu_description),target:e.link_external?"_blank":"_self","data-toggle":"tooltip"},on:{click:function(n){return t.setActiveMenuIndex(e)}}},["fontawesome"==e.menu_icon_type?[n("i",{staticClass:"quickmenuIcon fa",class:"fa-"+e.menu_icon})]:"image"==e.menu_icon_type?[n("img",{attrs:{width:"32px",src:e.menu_icon}})]:"iconclass"==e.menu_icon_type?[n("i",{staticClass:"quickmenuIcon",class:e.menu_icon})]:t._e()],2)})),0)])})),t.loadingState?n("loader-widget",{attrs:{id:"quickmenuLoadingIcon","extra-class":"loader-quickmenu"}}):t._e()],2)},F=[],B={mixins:[a],props:{menuEntries:{type:[Array,Object]},activeMenuIndex:{type:String},loading:{type:Boolean,default:!1}},data:function(){return{}},computed:{loadingState:{get:function(){return this.loading},set:function(t){this.$emit("changeLoadingState",t)}},sortedMenues:function(){return LS.ld.orderBy(this.$store.state.collapsedmenus,(function(t){return parseInt(t.ordering||999999)}),["asc"])}},methods:{sortedMenuEntries:function(t){var e=LS.ld.orderBy(t,(function(t){return parseInt(t.ordering||999999)}),["asc"]);return e},setActiveMenuIndex:function(t){t.id;this.$store.commit("lastMenuItemOpen",t)},compileEntryClasses:function(t){var e="";return this.$store.state.lastMenuItemOpen==t.id?e+=" btn-primary ":e+=" btn-default ",t.link_external||(e+=" pjax "),e},reConvertHTML:function(t){var e=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"],n=["'","©","Û","®","ž","Ü","Ÿ","Ý","$","Þ","%","¡","ß","¢","à","£","á","À","¤","â","Á","¥","ã","Â","¦","ä","Ã","§","å","Ä","¨","æ","Å","©","ç","Æ","ª","è","Ç","«","é","È","¬","ê","É","­","ë","Ê","®","ì","Ë","¯","í","Ì","°","î","Í","±","ï","Î","²","ð","Ï","³","ñ","Ð","´","ò","Ñ","µ","ó","Õ","¶","ô","Ö","·","õ","Ø","¸","ö","Ù","¹","÷","Ú","º","ø","Û","»","ù","Ü","@","¼","ú","Ý","½","û","Þ","€","¾","ü","ß","¿","ý","à","‚","À","þ","á","ƒ","Á","ÿ","å","„","Â","æ","…","Ã","ç","†","Ä","è","‡","Å","é","ˆ","Æ","ê","‰","Ç","ë","Š","È","ì","‹","É","í","Œ","Ê","î","Ë","ï","Ž","Ì","ð","Í","ñ","Î","ò","‘","Ï","ó","’","Ð","ô","“","Ñ","õ","”","Ò","ö","•","Ó","ø","–","Ô","ù","—","Õ","ú","˜","Ö","û","™","×","ý","š","Ø","þ","›","Ù","ÿ","œ","Ú"];return LS.ld.each(n,(function(n,r){t=t.replace(n,e[r])})),t}},created:function(){var t=this;this.$store.dispatch("getCollapsedmenus").then((function(t){}),this.$log.error).finally((function(e){t.loadingState=!1}))},mounted:function(){}},z=B,H=(n("ab94"),f(z,q,F,!1,null,null,null)),Q=H.exports,G={props:{landOnTab:String},components:{questionexplorer:d,sidemenu:R,quickmenu:Q,SidebarStateToggle:_},mixins:[a],data:function(){return{activeMenuIndex:0,openSubpanelId:0,menues:[],collapsed:!1,sideBarWidth:"315",initialPos:{x:0,y:0},isMouseDown:!1,isMouseDownTimeOut:null,sideBarHeight:"400px",showLoader:!1,loading:!0,hiddenStateToggleDisplay:"flex",smallScreenHidden:!1}},computed:{useMobileView:function(){return window.innerWidth<768},isActive:function(){return window.SideMenuData.isActive},questiongroups:function(){return this.$store.state.questiongroups},sidemenus:{get:function(){return this.$store.state.sidemenus},set:function(t){this.$store.commit("updateSidemenus",t)}},collapsedmenus:{get:function(){return this.$store.state.collapsedmenus},set:function(t){this.$store.commit("updateCollapsedmenus",t)}},currentTab:{get:function(){return this.$store.state.currentTab},set:function(t){this.$store.commit("changeCurrentTab",t)}},getSideBarWidth:function(){return this.$store.getters.isCollapsed?"98":this.sideBarWidth},sortedMenus:function(){return LS.ld.orderBy(this.menues,(function(t){return parseInt(t.order||999999)}),["asc"])},showSideMenu:function(){return!this.$store.getters.isCollapsed&&"settings"==this.currentTab},showQuestionTree:function(){return!this.$store.getters.isCollapsed&&"questiontree"==this.currentTab},calculateSideBarMenuHeight:function(){var t=this.$store.state.sideBarHeight;return LS.ld.min(t,Math.floor(2*screen.height))+"px"},getWindowHeight:function(){return 2*screen.height+"px"},getloaderHeight:function(){return $("#sidebar").height()}},methods:{applyLoadingState:function(t){this.loading=t},calculateHeight:function(t){t.$store.commit("changeSideBarHeight",$("#in_survey_common").height())},changedQuestionGroupOrder:function(){var t=this,e=this,n=LS.ld.map(this.questiongroups,(function(t,e){var n=LS.ld.map(t.questions,(function(t,e){return{qid:t.qid,question:t.question,gid:t.gid,question_order:t.question_order}}));return{gid:t.gid,group_name:t.group_name,group_order:t.group_order,questions:n}}));this.$log.log("QuestionGroup order changed"),this.showLoader=!0,this.post(window.SideMenuData.updateOrderLink,{grouparray:n,surveyid:this.$store.surveyid}).then((function(t){e.$log.log("questiongroups updated"),e.$store.dispatch("getQuestions").then((function(){e.showLoader=!1}))}),(function(n){e.$log.error("questiongroups updating error!"),t.post(window.SideMenuData.updateOrderLink,{surveyid:t.$store.surveyid}).then((function(){e.getQuestions().then((function(){e.showLoader=!1}))}))}))},controlActiveLink:function(){var t=window.location.href,e=!1;LS.ld.each(this.sidemenus,(function(n,r){LS.ld.each(n.entries,(function(n,r){e=LS.ld.endsWith(t,n.link)?n:e}))}));var n=!1;LS.ld.each(this.collapsedmenus,(function(e,r){LS.ld.each(e.entries,(function(e,r){n=LS.ld.endsWith(t,e.link)?e:n}))}));var r=!1;LS.ld.each(this.questiongroups,(function(e,n){var i=new RegExp("questiongroups/sa/edit/surveyid/"+e.sid+"/gid/"+e.gid);r=i.test(t)||LS.ld.endsWith(t,e.link)?e:r}));var i=!1;LS.ld.each(this.questiongroups,(function(e,n){LS.ld.each(e.questions,(function(e,n){var r=new RegExp("editquestion/surveyid/"+e.sid+"/gid/"+e.gid+"/qid/"+e.qid);i=LS.ld.endsWith(t,e.link)||r.test(t)?e:i}))})),this.$store.commit("closeAllMenus"),0!=e&&1!=this.$store.getters.isCollapsed&&this.$store.commit("lastMenuItemOpen",e),0!=n&&1==this.$store.getters.isCollapsed&&this.$store.commit("lastMenuItemOpen",n),0!=i&&this.$store.commit("lastQuestionOpen",i),0!=r&&(this.$store.commit("lastQuestionGroupOpen",r),this.$store.commit("addToQuestionGroupOpenArray",r))},editEntity:function(){this.setActiveMenuIndex(null,"question")},openEntity:function(){this.setActiveMenuIndex(null,"question")},setActiveMenuIndex:function(t){this.$store.commit("lastMenuItemOpen",t),this.activeMenuIndex=t},setOpenSubpanel:function(t){this.openSubpanelId=t,this.$store.commit("lastMenuOpen",t),this.$emit("menuselected",t)},toggleCollapse:function(){this.$store.commit("changeIsCollapsed",!this.$store.state.isCollapsed),this.$store.getters.isCollapsed?this.sideBarWidth="98":this.sideBarWidth=this.$store.state.sidebarwidth},toggleSmallScreenHide:function(){this.smallScreenHidden=!this.smallScreenHidden},mousedown:function(t){this.useMobileView&&(this.$store.commit("changeIsCollapsed",!1),this.smallScreenHidden=!this.smallScreenHidden),this.isMouseDown=!this.$store.getters.isCollapsed,$("#sidebar").removeClass("transition-animate-width"),$("#pjax-content").removeClass("transition-animate-width")},mouseup:function(t){this.isMouseDown&&(this.isMouseDown=!1,parseInt(this.sideBarWidth)<250&&!this.$store.getters.isCollapsed?(this.toggleCollapse(),this.$store.commit("changeSidebarwidth","340")):this.$store.commit("changeSidebarwidth",this.sideBarWidth),$("#sidebar").addClass("transition-animate-width"),$("#pjax-content").removeClass("transition-animate-width"))},mouseleave:function(t){if(this.isMouseDown){var e=this;this.isMouseDownTimeOut=setTimeout((function(){e.mouseup(t)}),1e3)}},mousemove:function(t,e){if(this.isMouseDown){if(e.$store.getters.isRTL){if(0===t.screenX&&0===t.screenY)return;if(window.innerWidth-t.clientX>screen.width/2)return void this.$store.commit("maxSideBarWidth",!0);e.sideBarWidth=window.innerWidth-t.pageX-8+"px",this.$store.commit("changeSidebarwidth",e.sideBarWidth),this.$store.commit("maxSideBarWidth",!1)}else{if(0===t.screenX&&0===t.screenY)return;if(t.clientX>screen.width/2)return void this.$store.commit("maxSideBarWidth",!0);e.sideBarWidth=t.pageX+8+"px",this.$store.commit("changeSidebarwidth",e.sideBarWidth),this.$store.commit("maxSideBarWidth",!1)}window.clearTimeout(e.isMouseDownTimeOut),e.isMouseDownTimeOut=null}},setBaseMenuPosition:function(t,e){switch(e){case"side":this.sidemenus=LS.ld.orderBy(t,(function(t){return parseInt(t.order||999999)}),["desc"]);break;case"collapsed":this.collapsedmenus=LS.ld.orderBy(t,(function(t){return parseInt(t.order||999999)}),["desc"]);break}},changeCurrentTab:function(t){t="structure"===t?"questiontree":"settings",this.currentTab=t}},created:function(){var t=this;window.innerWidth<768&&this.$store.commit("changeIsCollapsed",!1),t.$store.commit("setSurveyActiveState",1===parseInt(this.isActive)),this.activeMenuIndex=this.$store.state.lastMenuOpen,this.$store.getters.isCollapsed?this.sideBarWidth="98":this.sideBarWidth=t.$store.state.sidebarwidth,LS.ld.each(window.SideMenuData.basemenus,this.setBaseMenuPosition)},mounted:function(){var t=this,e=this;LS.EventBus.$on("updateSideBar",(function(e){t.loading=!0;var n=[Promise.resolve()];e.updateQuestions&&n.push(t.$store.dispatch("getQuestions")),e.collectMenus&&n.push(t.$store.dispatch("collectMenus")),e.activeMenuIndex&&(t.controlActiveLink(),n.push(Promise.resolve())),Promise.all(n).then((function(t){})).catch((function(e){t.$log.error(e)})).finally((function(){t.loading=!1}))})),$(document).trigger("sidebar:mounted"),e.calculateHeight(e),window.addEventListener("resize",(function(){e.calculateHeight(e)})),$(document).on("pjax:send",(function(){t.useMobileView&&t.smallScreenHidden&&(t.smallScreenHidden=!1)})),$(document).on("vue-sidemenu-update-link",(function(){t.controlActiveLink()})),$(document).on("vue-reload-remote",(function(){t.$log.log("vue-reload-remote"),t.$store.dispatch("getQuestions"),t.$store.dispatch("collectMenus"),t.updatePjaxLinks()})),$(document).on("vue-redraw",(function(){t.$log.log("vue-redraw"),t.$store.dispatch("getQuestions"),t.$store.dispatch("collectMenus")})),this.controlActiveLink(),this.updatePjaxLinks(),$("body").on("mousemove",(function(t){e.mousemove(t,e)})),""!==this.landOnTab&&this.changeCurrentTab(this.landOnTab)}},U=G,W=(n("2db0"),f(U,i,o,!1,null,"63dc88f2",null)),V=W.exports,K=function(t){var e=Number(t.version.split(".")[0]);if(e>=2)t.mixin({beforeCreate:r});else{var n=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[r].concat(t.init):r,n.call(this,t)}}function r(){var t=this.$options;t.store?this.$store="function"===typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}},J="undefined"!==typeof window&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function Z(t){J&&(t._devtoolHook=J,J.emit("vuex:init",t),J.on("vuex:travel-to-state",(function(e){t.replaceState(e)})),t.subscribe((function(t,e){J.emit("vuex:mutation",t,e)})))}function X(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function Y(t){return null!==t&&"object"===typeof t}function tt(t){return t&&"function"===typeof t.then}var et=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},nt={namespaced:{configurable:!0}};nt.namespaced.get=function(){return!!this._rawModule.namespaced},et.prototype.addChild=function(t,e){this._children[t]=e},et.prototype.removeChild=function(t){delete this._children[t]},et.prototype.getChild=function(t){return this._children[t]},et.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},et.prototype.forEachChild=function(t){X(this._children,t)},et.prototype.forEachGetter=function(t){this._rawModule.getters&&X(this._rawModule.getters,t)},et.prototype.forEachAction=function(t){this._rawModule.actions&&X(this._rawModule.actions,t)},et.prototype.forEachMutation=function(t){this._rawModule.mutations&&X(this._rawModule.mutations,t)},Object.defineProperties(et.prototype,nt);var rt=function(t){this.register([],t,!1)};function it(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;it(t.concat(r),e.getChild(r),n.modules[r])}}rt.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},rt.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},rt.prototype.update=function(t){it([],this.root,t)},rt.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new et(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&X(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},rt.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var ot;var at=function(t){var e=this;void 0===t&&(t={}),!ot&&"undefined"!==typeof window&&window.Vue&&bt(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.state;void 0===i&&(i={}),"function"===typeof i&&(i=i()||{}),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new rt(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new ot;var o=this,a=this,u=a.dispatch,s=a.commit;this.dispatch=function(t,e){return u.call(o,t,e)},this.commit=function(t,e,n){return s.call(o,t,e,n)},this.strict=r,ft(this,i,[],this._modules.root),lt(this,i),n.forEach((function(t){return t(e)})),ot.config.devtools&&Z(this)},ut={state:{configurable:!0}};function st(t,e){return e.indexOf(t)<0&&e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function ct(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;ft(t,n,[],t._modules.root,!0),lt(t,n,e)}function lt(t,e,n){var r=t._vm;t.getters={};var i=t._wrappedGetters,o={};X(i,(function(e,n){o[n]=function(){return e(t)},Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var a=ot.config.silent;ot.config.silent=!0,t._vm=new ot({data:{$$state:e},computed:o}),ot.config.silent=a,t.strict&&mt(t),r&&(n&&t._withCommit((function(){r._data.$$state=null})),ot.nextTick((function(){return r.$destroy()})))}function ft(t,e,n,r,i){var o=!n.length,a=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[a]=r),!o&&!i){var u=yt(e,n.slice(0,-1)),s=n[n.length-1];t._withCommit((function(){ot.set(u,s,r.state)}))}var c=r.context=pt(t,a,n);r.forEachMutation((function(e,n){var r=a+n;ht(t,r,e,c)})),r.forEachAction((function(e,n){var r=e.root?n:a+n,i=e.handler||e;vt(t,r,i,c)})),r.forEachGetter((function(e,n){var r=a+n;gt(t,r,e,c)})),r.forEachChild((function(r,o){ft(t,e,n.concat(o),r,i)}))}function pt(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=_t(n,r,i),a=o.payload,u=o.options,s=o.type;return u&&u.root||(s=e+s),t.dispatch(s,a)},commit:r?t.commit:function(n,r,i){var o=_t(n,r,i),a=o.payload,u=o.options,s=o.type;u&&u.root||(s=e+s),t.commit(s,a,u)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return dt(t,e)}},state:{get:function(){return yt(t.state,n)}}}),i}function dt(t,e){var n={},r=e.length;return Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),n}function ht(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function vt(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e,i){var o=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e,i);return tt(o)||(o=Promise.resolve(o)),t._devtoolHook?o.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):o}))}function gt(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function mt(t){t._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function yt(t,e){return e.length?e.reduce((function(t,e){return t[e]}),t):t}function _t(t,e,n){return Y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function bt(t){ot&&t===ot||(ot=t,K(ot))}ut.state.get=function(){return this._vm._data.$$state},ut.state.set=function(t){0},at.prototype.commit=function(t,e,n){var r=this,i=_t(t,e,n),o=i.type,a=i.payload,u=(i.options,{type:o,payload:a}),s=this._mutations[o];s&&(this._withCommit((function(){s.forEach((function(t){t(a)}))})),this._subscribers.forEach((function(t){return t(u,r.state)})))},at.prototype.dispatch=function(t,e){var n=this,r=_t(t,e),i=r.type,o=r.payload,a={type:i,payload:o},u=this._actions[i];if(u)return this._actionSubscribers.forEach((function(t){return t(a,n.state)})),u.length>1?Promise.all(u.map((function(t){return t(o)}))):u[0](o)},at.prototype.subscribe=function(t){return st(t,this._subscribers)},at.prototype.subscribeAction=function(t){return st(t,this._actionSubscribers)},at.prototype.watch=function(t,e,n){var r=this;return this._watcherVM.$watch((function(){return t(r.state,r.getters)}),e,n)},at.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},at.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),ft(this,this.state,t,this._modules.get(t),n.preserveState),lt(this,this.state)},at.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=yt(e.state,t.slice(0,-1));ot.delete(n,t[t.length-1])})),ct(this)},at.prototype.hotUpdate=function(t){this._modules.update(t),ct(this,!0)},at.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(at.prototype,ut);var wt=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=Ct(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),xt=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=Ct(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),St=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||Ct(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),$t=kt((function(t,e){var n={};return At(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=Ct(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),Ot=function(t){return{mapState:wt.bind(null,t),mapGetters:St.bind(null,t),mapMutations:xt.bind(null,t),mapActions:$t.bind(null,t)}};function At(t){return Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}}))}function kt(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function Ct(t,e,n){var r=t._modulesNamespaceMap[n];return r}var jt={Store:at,install:bt,version:"2.5.0",mapState:wt,mapMutations:xt,mapGetters:St,mapActions:$t,createNamespacedHelpers:Ot},Tt=jt,Mt=n("da81"),Et=n.n(Mt);(function(){function t(){}Object.defineProperty(t.prototype,"length",{get:function(){return Object.keys(this).length},enumerable:!0,configurable:!0}),t.prototype.key=function(t){return Object.keys(this)[t]},t.prototype.setItem=function(t,e){this[t]=e.toString()},t.prototype.getItem=function(t){return this[t]},t.prototype.removeItem=function(t){delete this[t]},t.prototype.clear=function(){for(var t=0,e=Object.keys(this);t0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];Yt(this,t),this.param=e,this.silencer=n,this.collector=[],this.currentGroupDescription="",this.activeGroups=0,this.timeHolder=null,this.methods=["group","groupEnd","log","trace","time","timeEnd","error","warn"],this.silent={group:function(){},groupEnd:function(){},log:function(){},trace:function(){},time:function(){},timeEnd:function(){},error:function(){},err:function(){},debug:function(){},warn:function(){}}}return re(t,[{key:"_generateError",value:function(){try{throw new Error}catch(t){return t}}},{key:"_insertParamToArguments",value:function(t){if(""!==this.param){var e=Xt(t);return e.unshift(this.param),e}return Array.from(arguments)}},{key:"setSilent",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.silencer=t||!this.silencer}},{key:"group",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);if("function"!==typeof console.group){var e=t[0]||"GROUP";this.currentGroupDescription=e,this.activeGroups++}else console.group.apply(console,t)}}},{key:"groupEnd",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);"function"!==typeof console.groupEnd?(this.currentGroupDescription="",this.activeGroups--,this.activeGroups=0===this.activeGroups?0:this.activeGroups--):console.groupEnd.apply(console,t)}}},{key:"log",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);"function"!==typeof console.group?(t.shift(),t.unshift(" ".repeat(2*this.activeGroups)),this.log.apply(this,t)):console.log.apply(console,t)}}},{key:"trace",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);if("function"!==typeof console.trace){var e=this._generateError();e.stack?this.log.apply(console,e.stack):(this.log(t),void 0!=arguments.callee&&this.trace.apply(console,arguments.callee))}else console.trace.apply(console,t)}}},{key:"time",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);"function"!==typeof console.time?this.timeHolder=new Date:console.time.apply(console,t)}}},{key:"timeEnd",value:function(){if(!this.silencer){var t=this._insertParamToArguments(arguments);if("function"!==typeof console.timeEnd){var e=new Date-this.timeHolder;this.log("Took ".concat(Math.floor(e/36e5)," hours, ").concat(Math.floor(e/6e4)," minutes and ").concat(Math.floor(e/1e3)," seconds ( ").concat(e," ms)")),this.time=new Date}else console.timeEnd.apply(console,t)}}},{key:"error",value:function(){var t=this._insertParamToArguments(arguments);"function"!==typeof console.error?(this.log("--- ERROR ---"),this.log(t)):console.error.apply(console,t)}},{key:"warn",value:function(){var t=this._insertParamToArguments(arguments);"function"!==typeof console.warn?(this.log("--- WARN ---"),this.log(t)):console.warn.apply(console,t)}}]),t}(),oe=ie,ae=new oe("adminsidepanel");window.debugState.backend||ae.setSilent(!0);var ue=function(t){t.prototype.$log=ae},se={updatePjax:function(t){var e=t.commit;$(document).trigger("pjax:refresh"),e("newToggleKey")},getSidemenus:function(t){return new Promise((function(e,n){a.methods.get(window.SideMenuData.getMenuUrl,{position:"side"}).then((function(n){ae.log("sidemenues",n);var r=LS.ld.orderBy(n.data.menues,(function(t){return parseInt(t.order||999999)}),["desc"]);t.commit("updateSidemenus",r),t.dispatch("updatePjax"),e()})).catch((function(t){n(t)}))}))},getCollapsedmenus:function(t){return new Promise((function(e,n){a.methods.get(window.SideMenuData.getMenuUrl,{position:"collapsed"}).then((function(n){ae.log("quickmenu",n);var r=LS.ld.orderBy(n.data.menues,(function(t){return parseInt(t.order||999999)}),["desc"]);t.commit("updateCollapsedmenus",r),t.dispatch("updatePjax"),e()})).catch((function(t){n(t)}))}))},getQuestions:function(t){return new Promise((function(e,n){a.methods.get(window.SideMenuData.getQuestionsUrl).then((function(n){ae.log("Questions",n);var r=n.data.groups;t.commit("updateQuestiongroups",r),t.dispatch("updatePjax"),e()})).catch((function(t){n(t)}))}))},collectMenus:function(t){return Promise.all([t.dispatch("getSidemenus"),t.dispatch("getCollapsedmenus")])},unlockLockOrganizer:function(t){return new Promise((function(e,n){a.methods.post(window.SideMenuData.unlockLockOrganizerUrl,{setting:"lock_organizer",newValue:t.state.allowOrganizer?"0":"1"}).then((function(e){ae.log("setUsersettingLog",e),t.commit("setAllowOrganizer",parseInt(e.data.result))})).catch((function(t){n(t)}))}))},changeCurrentTab:function(t,e){t.commit("changeCurrentTab",e),t.dispatch("collectMenus"),t.dispatch("getQuestions")}};r["a"].use(qt.a),r["a"].use(Tt);var ce=function(t,e){var n="limesurveyadminsidepanel",r=new Dt({key:n+"_"+t+"_"+e,storage:window.sessionStorage});return new Tt.Store({state:Ft(t),plugins:[r.plugin],getters:Bt,mutations:zt,actions:se})},le=ce,fe=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:" loader--loaderWidget ls-flex ls-flex-column align-content-center align-items-center",staticStyle:{"min-height":"100%"},attrs:{id:"loader-"+t.id}},[n("div",{staticClass:"ls-flex align-content-center align-items-center"},[n("div",{staticClass:"loader-adminpanel text-center",class:t.extraClass},[t._m(0)])])])},pe=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"contain-pulse animate-pulse"},[n("div",{staticClass:"square"}),n("div",{staticClass:"square"}),n("div",{staticClass:"square"}),n("div",{staticClass:"square"})])}],de={name:"loaderWidget",props:{id:{type:String,default:Math.floor(1e3*Math.random())},extraClass:{type:String,default:""}}},he=de,ve=(n("2c45"),f(he,fe,pe,!1,null,"c92ecf4c",null)),ge=ve.exports;r["a"].config.ignoredElements=["x-test"],r["a"].config.devtools=!0,r["a"].use(ue),r["a"].component("loader-widget",ge),r["a"].mixin({methods:{updatePjaxLinks:function(){this.$forceUpdate(),this.$store.commit("newToggleKey")},redoTooltips:function(){window.LS.doToolTip()},translate:function(t){return window.SideMenuData.translate[t]||t}},filters:{translate:function(t){return window.SideMenuData.translate[t]||t}}});var me=function(t,e){var n=le(t,e),i={},o=function(t){0!=e&&t.commit("updateSurveyId",e)},a=function(){var t=$("body").find("nav").first().height(),e=$("body").find("footer").last().height(),n=$(".menubar").outerHeight(),r=t+e+n+25,o=window.innerHeight,a=o-r,u=100*(1-parseInt($("#sidebar").width())/$("#vue-apps-main-container").width()),s=100*(1-parseInt("98px")/$("#vue-apps-main-container").width()),c=Math.floor($("#sidebar").data("collapsed")?u:s)+"%";i["surveyViewHeight"]=a,i["surveyViewWidth"]=c,$("#fullbody-container").css({"max-width":c,"overflow-x":"auto"})},u=function(){return new r["a"]({el:"#vue-sidebar-container",store:n,components:{sidebar:V},created:function(){var t=this;$(document).on("vue-sidebar-collapse",(function(){t.$store.commit("changeIsCollapsed",!0)}))},mounted:function(){var t=this;o(this.$store);var e=$("#in_survey_common").height()-35||400;this.$store.commit("changeMaxHeight",e),this.$store.commit("setAllowOrganizer",window.SideMenuData.allowOrganizer),this.updatePjaxLinks(),$(document).on("vue-redraw",(function(){t.updatePjaxLinks()})),$(document).trigger("vue-reload-remote")}})},s=function(){i.reloadcounter=5,$(document).off("pjax:send.panelloading").on("pjax:send.panelloading",(function(){$('
').appendTo("body"),$(".ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-draggable.ui-resizable").remove(),$("#pjax-file-load-container").find("div").css({width:"20%",display:"block"}),LS.adminsidepanel.reloadcounter--})),$(document).off("pjax:error.panelloading").on("pjax:error.panelloading",(function(t){console.ls.log(t)})),$(document).off("pjax:complete.panelloading").on("pjax:complete.panelloading",(function(){0===LS.adminsidepanel.reloadcounter&&location.reload()})),$(document).off("pjax:scriptcomplete.panelloading").on("pjax:scriptcomplete.panelloading",(function(){$("#pjax-file-load-container").find("div").css("width","100%"),$("#pjaxClickInhibitor").fadeOut(400,(function(){$(this).remove()})),$(document).trigger("vue-resize-height"),$(document).trigger("vue-reload-remote"),setTimeout((function(){$("#pjax-file-load-container").find("div").css({width:"0%",display:"none"})}),2200)}))},c=function(){window.singletonPjax(),document.getElementById("vue-sidebar-container")&&(i["sidemenu"]=u()),$(document).on("click","ul.pagination>li>a",(function(){$(document).trigger("pjax:refresh")})),a(),window.addEventListener("resize",LS.ld.debounce(a,300)),$(document).on("vue-resize-height",LS.ld.debounce(a,300)),s()};return LS.adminCore.addToNamespace(i,"adminsidepanel"),c};$(document).ready((function(){var t="newSurvey";void 0!=window.LS&&(t=window.LS.parameters.$GET.surveyid||window.LS.parameters.keyValuePairs.surveyid),window.SideMenuData&&(t=window.SideMenuData.surveyid),window.adminsidepanel=window.adminsidepanel||me(window.LS.globalUserId,t),window.adminsidepanel()}))},"7a56":function(t,e,n){"use strict";var r=n("7726"),i=n("86cc"),o=n("9e1e"),a=n("2b4c")("species");t.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},"7cd6":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},"7e90":function(t,e,n){var r=n("d9f6"),i=n("e4ae"),o=n("c3a1");t.exports=n("8e60")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),u=a.length,s=0;while(u>s)r.f(t,n=a[s++],e[n]);return t}},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},8079:function(t,e,n){var r=n("7726"),i=n("1991").set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,s="process"==n("2d95")(a);t.exports=function(){var t,e,n,c=function(){var r,i;s&&(r=a.domain)&&r.exit();while(t){i=t.fn,t=t.next;try{i()}catch(o){throw t?n():e=void 0,o}}e=void 0,r&&r.enter()};if(s)n=function(){a.nextTick(c)};else if(!o||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var l=u.resolve(void 0);n=function(){l.then(c)}}else n=function(){i.call(r,c)};else{var f=!0,p=document.createTextNode("");new o(c).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},8378:function(t,e){var n=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},8436:function(t,e){t.exports=function(){}},"84f2":function(t,e){t.exports={}},"85f2":function(t,e,n){t.exports=n("454f")},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8b97":function(t,e,n){var r=n("d3f4"),i=n("cb7c"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},"8c57":function(t,e,n){"use strict";var r=n("f7bc"),i=n.n(r);i.a},"8e60":function(t,e,n){t.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8f60":function(t,e,n){"use strict";var r=n("a159"),i=n("aebd"),o=n("45f2"),a={};n("35e8")(a,n("5168")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},9003:function(t,e,n){var r=n("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},9138:function(t,e,n){t.exports=n("35e8")},"95d5":function(t,e,n){var r=n("40c3"),i=n("5168")("iterator"),o=n("481b");t.exports=n("584a").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},9744:function(t,e,n){"use strict";var r=n("4588"),i=n("be13");t.exports=function(t){var e=String(i(this)),n="",o=r(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9c80":function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},"9def":function(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a026:function(t,e,n){"use strict";(function(t){ /*! * Vue.js v2.6.10 * (c) 2014-2019 Evan You * Released under the MIT License. */ -var n=Object.freeze({});function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function a(t){return!1===t}function u(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function s(t){return null!==t&&"object"===typeof t}var c=Object.prototype.toString;function l(t){return"[object Object]"===c.call(t)}function f(t){return"[object RegExp]"===c.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return i(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function h(t){return null==t?"":Array.isArray(t)||l(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function g(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function w(t,e){return b.call(t,e)}function x(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var S=/-(\w)/g,$=x((function(t){return t.replace(S,(function(t,e){return e?e.toUpperCase():""}))})),O=x((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),A=/\B([A-Z])/g,k=x((function(t){return t.replace(A,"-$1").toLowerCase()}));function C(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function j(t,e){return t.bind(e)}var T=Function.prototype.bind?j:C;function M(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function E(t,e){for(var n in e)t[n]=e[n];return t}function L(t){for(var e={},n=0;n0,it=et&&et.indexOf("edge/")>0,ot=(et&&et.indexOf("android"),et&&/iphone|ipad|ipod|ios/.test(et)||"ios"===tt),at=(et&&/chrome\/\d+/.test(et),et&&/phantomjs/.test(et),et&&et.match(/firefox\/(\d+)/)),ut={}.watch,st=!1;if(X)try{var ct={};Object.defineProperty(ct,"passive",{get:function(){st=!0}}),window.addEventListener("test-passive",null,ct)}catch(Zc){}var lt=function(){return void 0===J&&(J=!X&&!Y&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),J},ft=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function pt(t){return"function"===typeof t&&/native code/.test(t.toString())}var dt,ht="undefined"!==typeof Symbol&&pt(Symbol)&&"undefined"!==typeof Reflect&&pt(Reflect.ownKeys);dt="undefined"!==typeof Set&&pt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var vt=I,gt=0,mt=function(){this.id=gt++,this.subs=[]};mt.prototype.addSub=function(t){this.subs.push(t)},mt.prototype.removeSub=function(t){_(this.subs,t)},mt.prototype.depend=function(){mt.target&&mt.target.addDep(this)},mt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(o&&!w(i,"default"))a=!1;else if(""===a||a===k(t)){var s=ne(String,i.type);(s<0||u0&&(a=je(a,(e||"")+"_"+n),Ce(a[0])&&Ce(c)&&(l[s]=$t(c.text+a[0].text),a.shift()),l.push.apply(l,a)):u(a)?Ce(c)?l[s]=$t(c.text+a):""!==a&&l.push($t(a)):Ce(a)&&Ce(c)?l[s]=$t(c.text+a.text):(o(t._isVList)&&i(a.tag)&&r(a.key)&&i(e)&&(a.key="__vlist"+e+"_"+n+"__"),l.push(a)));return l}function Te(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function Me(t){var e=Ee(t.$options.inject,t);e&&(Mt(!1),Object.keys(e).forEach((function(n){Nt(t,n,e[n])})),Mt(!0))}function Ee(t,e){if(t){for(var n=Object.create(null),r=ht?Reflect.ownKeys(t):Object.keys(t),i=0;i0,a=t?!!t.$stable:!o,u=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&u===r.$key&&!o&&!r.$hasNormal)return r;for(var s in i={},t)t[s]&&"$"!==s[0]&&(i[s]=Ne(e,s,t[s]))}else i={};for(var c in e)c in i||(i[c]=De(e,c));return t&&Object.isExtensible(t)&&(t._normalized=i),W(i,"$stable",a),W(i,"$key",u),W(i,"$hasNormal",o),i}function Ne(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:ke(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function De(t,e){return function(){return t[e]}}function Re(t,e){var n,r,o,a,u;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,o=t.length;r1?M(n):n;for(var r=M(arguments,1),i='event handler for "'+t+'"',o=0,a=n.length;odocument.createEvent("Event").timeStamp&&(Jn=function(){return Zn.now()})}function Xn(){var t,e;for(Kn=Jn(),Un=!0,zn.sort((function(t,e){return t.id-e.id})),Wn=0;WnWn&&zn[n].id>t.id)n--;zn.splice(n+1,0,t)}else zn.push(t);Gn||(Gn=!0,ge(Xn))}}var rr=0,ir=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++rr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new dt,this.newDepIds=new dt,this.expression="","function"===typeof e?this.getter=e:(this.getter=K(e),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};ir.prototype.get=function(){var t;_t(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(Zc){if(!this.user)throw Zc;re(Zc,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ye(t),bt(),this.cleanupDeps()}return t},ir.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},ir.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},ir.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():nr(this)},ir.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(Zc){re(Zc,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},ir.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},ir.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},ir.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||_(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var or={enumerable:!0,configurable:!0,get:I,set:I};function ar(t,e,n){or.get=function(){return this[e][n]},or.set=function(t){this[e][n]=t},Object.defineProperty(t,n,or)}function ur(t){t._watchers=[];var e=t.$options;e.props&&sr(t,e.props),e.methods&&gr(t,e.methods),e.data?cr(t):Pt(t._data={},!0),e.computed&&pr(t,e.computed),e.watch&&e.watch!==ut&&mr(t,e.watch)}function sr(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;o||Mt(!1);var a=function(o){i.push(o);var a=Xt(o,e,n,t);Nt(r,o,a),o in t||ar(t,"_props",o)};for(var u in e)a(u);Mt(!0)}function cr(t){var e=t.$options.data;e=t._data="function"===typeof e?lr(e,t):e||{},l(e)||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);while(i--){var o=n[i];0,r&&w(r,o)||U(o)||ar(t,"_data",o)}Pt(e,!0)}function lr(t,e){_t();try{return t.call(e,e)}catch(Zc){return re(Zc,e,"data()"),{}}finally{bt()}}var fr={lazy:!0};function pr(t,e){var n=t._computedWatchers=Object.create(null),r=lt();for(var i in e){var o=e[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new ir(t,a||I,I,fr)),i in t||dr(t,i,o)}}function dr(t,e,n){var r=!lt();"function"===typeof n?(or.get=r?hr(e):vr(n),or.set=I):(or.get=n.get?r&&!1!==n.cache?hr(e):vr(n.get):I,or.set=n.set||I),Object.defineProperty(t,e,or)}function hr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),mt.target&&e.depend(),e.value}}function vr(t){return function(){return t.call(this,this)}}function gr(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?I:T(e[n],t)}function mr(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i-1)return this;var n=M(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function kr(t){t.mixin=function(t){return this.options=Jt(this.options,t),this}}function Cr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Jt(n.options,t),a["super"]=n,a.options.props&&jr(a),a.options.computed&&Tr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,z.forEach((function(t){a[t]=n[t]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=E({},a.options),i[r]=a,a}}function jr(t){var e=t.options.props;for(var n in e)ar(t.prototype,"_props",n)}function Tr(t){var e=t.options.computed;for(var n in e)dr(t.prototype,n,e[n])}function Mr(t){z.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&l(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function Er(t){return t&&(t.Ctor.options.name||t.tag)}function Lr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Ir(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var u=Er(a.componentOptions);u&&!e(u)&&Pr(n,o,r,i)}}}function Pr(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,_(n,e)}wr(Or),_r(Or),Mn(Or),Pn(Or),bn(Or);var Nr=[String,RegExp,Array],Dr={name:"keep-alive",abstract:!0,props:{include:Nr,exclude:Nr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Pr(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",(function(e){Ir(t,(function(t){return Lr(e,t)}))})),this.$watch("exclude",(function(e){Ir(t,(function(t){return!Lr(e,t)}))}))},render:function(){var t=this.$slots.default,e=On(t),n=e&&e.componentOptions;if(n){var r=Er(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!Lr(o,r))||a&&r&&Lr(a,r))return e;var u=this,s=u.cache,c=u.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;s[l]?(e.componentInstance=s[l].componentInstance,_(c,l),c.push(l)):(s[l]=e,c.push(l),this.max&&c.length>parseInt(this.max)&&Pr(s,c[0],c,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Rr={KeepAlive:Dr};function qr(t){var e={get:function(){return Q}};Object.defineProperty(t,"config",e),t.util={warn:vt,extend:E,mergeOptions:Jt,defineReactive:Nt},t.set=Dt,t.delete=Rt,t.nextTick=ge,t.observable=function(t){return Pt(t),t},t.options=Object.create(null),z.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,E(t.options.components,Rr),Ar(t),kr(t),Cr(t),Mr(t)}qr(Or),Object.defineProperty(Or.prototype,"$isServer",{get:lt}),Object.defineProperty(Or.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Or,"FunctionalRenderContext",{value:Ye}),Or.version="2.6.10";var Fr=g("style,class"),Br=g("input,textarea,option,select,progress"),zr=function(t,e,n){return"value"===n&&Br(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Hr=g("contenteditable,draggable,spellcheck"),Qr=g("events,caret,typing,plaintext-only"),Gr=function(t,e){return Jr(e)||"false"===e?"false":"contenteditable"===t&&Qr(e)?e:"true"},Ur=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Wr="http://www.w3.org/1999/xlink",Vr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Kr=function(t){return Vr(t)?t.slice(6,t.length):""},Jr=function(t){return null==t||!1===t};function Zr(t){var e=t.data,n=t,r=t;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Xr(r.data,e));while(i(n=n.parent))n&&n.data&&(e=Xr(e,n.data));return Yr(e.staticClass,e.class)}function Xr(t,e){return{staticClass:ti(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function Yr(t,e){return i(t)||i(e)?ti(t,ei(e)):""}function ti(t,e){return t?e?t+" "+e:t:e||""}function ei(t){return Array.isArray(t)?ni(t):s(t)?ri(t):"string"===typeof t?t:""}function ni(t){for(var e,n="",r=0,o=t.length;r-1?li[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:li[t]=/HTMLUnknownElement/.test(e.toString())}var pi=g("text,number,password,search,email,tel,url");function di(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function hi(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function vi(t,e){return document.createElementNS(ii[t],e)}function gi(t){return document.createTextNode(t)}function mi(t){return document.createComment(t)}function yi(t,e,n){t.insertBefore(e,n)}function _i(t,e){t.removeChild(e)}function bi(t,e){t.appendChild(e)}function wi(t){return t.parentNode}function xi(t){return t.nextSibling}function Si(t){return t.tagName}function $i(t,e){t.textContent=e}function Oi(t,e){t.setAttribute(e,"")}var Ai=Object.freeze({createElement:hi,createElementNS:vi,createTextNode:gi,createComment:mi,insertBefore:yi,removeChild:_i,appendChild:bi,parentNode:wi,nextSibling:xi,tagName:Si,setTextContent:$i,setStyleScope:Oi}),ki={create:function(t,e){Ci(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Ci(t,!0),Ci(e))},destroy:function(t){Ci(t,!0)}};function Ci(t,e){var n=t.data.ref;if(i(n)){var r=t.context,o=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?_(a[n],o):a[n]===o&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}var ji=new wt("",{},[]),Ti=["create","activate","update","remove","destroy"];function Mi(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&i(t.data)===i(e.data)&&Ei(t,e)||o(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function Ei(t,e){if("input"!==t.tag)return!0;var n,r=i(n=t.data)&&i(n=n.attrs)&&n.type,o=i(n=e.data)&&i(n=n.attrs)&&n.type;return r===o||pi(r)&&pi(o)}function Li(t,e,n){var r,o,a={};for(r=e;r<=n;++r)o=t[r].key,i(o)&&(a[o]=r);return a}function Ii(t){var e,n,a={},s=t.modules,c=t.nodeOps;for(e=0;ev?(f=r(n[y+1])?null:n[y+1].elm,S(t,f,n,h,y,o)):h>y&&O(t,e,p,v)}function C(t,e,n,r){for(var o=n;o-1?Gi(t,e,n):Ur(e)?Jr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Hr(e)?t.setAttribute(e,Gr(e,n)):Vr(e)?Jr(n)?t.removeAttributeNS(Wr,Kr(e)):t.setAttributeNS(Wr,e,n):Gi(t,e,n)}function Gi(t,e,n){if(Jr(n))t.removeAttribute(e);else{if(nt&&!rt&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Ui={create:Hi,update:Hi};function Wi(t,e){var n=e.elm,o=e.data,a=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var u=Zr(e),s=n._transitionClasses;i(s)&&(u=ti(u,ei(s))),u!==n._prevClass&&(n.setAttribute("class",u),n._prevClass=u)}}var Vi,Ki,Ji,Zi,Xi,Yi,to={create:Wi,update:Wi},eo=/[\w).+\-_$\]]/;function no(t){var e,n,r,i,o,a=!1,u=!1,s=!1,c=!1,l=0,f=0,p=0,d=0;for(r=0;r=0;h--)if(v=t.charAt(h)," "!==v)break;v&&eo.test(v)||(c=!0)}}else void 0===i?(d=r+1,i=t.slice(0,r).trim()):g();function g(){(o||(o=[])).push(t.slice(d,r).trim()),d=r+1}if(void 0===i?i=t.slice(0,r).trim():0!==d&&g(),o)for(r=0;r-1?{exp:t.slice(0,Zi),key:'"'+t.slice(Zi+1)+'"'}:{exp:t,key:null};Ki=t,Zi=Xi=Yi=0;while(!xo())Ji=wo(),So(Ji)?Oo(Ji):91===Ji&&$o(Ji);return{exp:t.slice(0,Xi),key:t.slice(Xi+1,Yi)}}function wo(){return Ki.charCodeAt(++Zi)}function xo(){return Zi>=Vi}function So(t){return 34===t||39===t}function $o(t){var e=1;Xi=Zi;while(!xo())if(t=wo(),So(t))Oo(t);else if(91===t&&e++,93===t&&e--,0===e){Yi=Zi;break}}function Oo(t){var e=t;while(!xo())if(t=wo(),t===e)break}var Ao,ko="__r",Co="__c";function jo(t,e,n){n;var r=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if(t.component)return yo(t,r,i),!1;if("select"===o)Eo(t,r,i);else if("input"===o&&"checkbox"===a)To(t,r,i);else if("input"===o&&"radio"===a)Mo(t,r,i);else if("input"===o||"textarea"===o)Lo(t,r,i);else{if(!Q.isReservedTag(o))return yo(t,r,i),!1}return!0}function To(t,e,n){var r=n&&n.number,i=ho(t,"value")||"null",o=ho(t,"true-value")||"true",a=ho(t,"false-value")||"false";ao(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),fo(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+_o(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+_o(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+_o(e,"$$c")+"}",null,!0)}function Mo(t,e,n){var r=n&&n.number,i=ho(t,"value")||"null";i=r?"_n("+i+")":i,ao(t,"checked","_q("+e+","+i+")"),fo(t,"change",_o(e,i),null,!0)}function Eo(t,e,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",o="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",a="var $$selectedVal = "+i+";";a=a+" "+_o(e,o),fo(t,"change",a,null,!0)}function Lo(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,u=i.trim,s=!o&&"range"!==r,c=o?"change":"range"===r?ko:"input",l="$event.target.value";u&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=_o(e,l);s&&(f="if($event.target.composing)return;"+f),ao(t,"value","("+e+")"),fo(t,c,f,null,!0),(u||a)&&fo(t,"blur","$forceUpdate()")}function Io(t){if(i(t[ko])){var e=nt?"change":"input";t[e]=[].concat(t[ko],t[e]||[]),delete t[ko]}i(t[Co])&&(t.change=[].concat(t[Co],t.change||[]),delete t[Co])}function Po(t,e,n){var r=Ao;return function i(){var o=e.apply(null,arguments);null!==o&&Ro(t,i,n,r)}}var No=se&&!(at&&Number(at[1])<=53);function Do(t,e,n,r){if(No){var i=Kn,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}Ao.addEventListener(t,e,st?{capture:n,passive:r}:n)}function Ro(t,e,n,r){(r||Ao).removeEventListener(t,e._wrapper||e,n)}function qo(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};Ao=e.elm,Io(n),xe(n,i,Do,Ro,Po,e.context),Ao=void 0}}var Fo,Bo={create:qo,update:qo};function zo(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,a=e.elm,u=t.data.domProps||{},s=e.data.domProps||{};for(n in i(s.__ob__)&&(s=e.data.domProps=E({},s)),u)n in s||(a[n]="");for(n in s){if(o=s[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),o===u[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=o;var c=r(o)?"":String(o);Ho(a,c)&&(a.value=c)}else if("innerHTML"===n&&ai(a.tagName)&&r(a.innerHTML)){Fo=Fo||document.createElement("div"),Fo.innerHTML=""+o+"";var l=Fo.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(l.firstChild)a.appendChild(l.firstChild)}else if(o!==u[n])try{a[n]=o}catch(Zc){}}}}function Ho(t,e){return!t.composing&&("OPTION"===t.tagName||Qo(t,e)||Go(t,e))}function Qo(t,e){var n=!0;try{n=document.activeElement!==t}catch(Zc){}return n&&t.value!==e}function Go(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var Uo={create:zo,update:zo},Wo=x((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function Vo(t){var e=Ko(t.style);return t.staticStyle?E(t.staticStyle,e):e}function Ko(t){return Array.isArray(t)?L(t):"string"===typeof t?Wo(t):t}function Jo(t,e){var n,r={};if(e){var i=t;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=Vo(i.data))&&E(r,n)}(n=Vo(t.data))&&E(r,n);var o=t;while(o=o.parent)o.data&&(n=Vo(o.data))&&E(r,n);return r}var Zo,Xo=/^--/,Yo=/\s*!important$/,ta=function(t,e,n){if(Xo.test(e))t.style.setProperty(e,n);else if(Yo.test(n))t.style.setProperty(k(e),n.replace(Yo,""),"important");else{var r=na(e);if(Array.isArray(n))for(var i=0,o=n.length;i-1?e.split(oa).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ua(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(oa).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function sa(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&E(e,ca(t.name||"v")),E(e,t),e}return"string"===typeof t?ca(t):void 0}}var ca=x((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),la=X&&!rt,fa="transition",pa="animation",da="transition",ha="transitionend",va="animation",ga="animationend";la&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(da="WebkitTransition",ha="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(va="WebkitAnimation",ga="webkitAnimationEnd"));var ma=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function ya(t){ma((function(){ma(t)}))}function _a(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),aa(t,e))}function ba(t,e){t._transitionClasses&&_(t._transitionClasses,e),ua(t,e)}function wa(t,e,n){var r=Sa(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var u=i===fa?ha:ga,s=0,c=function(){t.removeEventListener(u,l),n()},l=function(e){e.target===t&&++s>=a&&c()};setTimeout((function(){s0&&(n=fa,l=a,f=o.length):e===pa?c>0&&(n=pa,l=c,f=s.length):(l=Math.max(a,c),n=l>0?a>c?fa:pa:null,f=n?n===fa?o.length:s.length:0);var p=n===fa&&xa.test(r[da+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function $a(t,e){while(t.length1}function Ta(t,e){!0!==e.data.show&&Aa(e)}var Ma=X?{create:Ta,activate:Ta,remove:function(t,e){!0!==t.data.show?ka(t,e):e()}}:{},Ea=[Ui,to,Bo,Uo,ia,Ma],La=Ea.concat(zi),Ia=Ii({nodeOps:Ai,modules:La});rt&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&za(t,"input")}));var Pa={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?Se(n,"postpatch",(function(){Pa.componentUpdated(t,e,n)})):Na(t,e,n.context),t._vOptions=[].map.call(t.options,qa)):("textarea"===n.tag||pi(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Fa),t.addEventListener("compositionend",Ba),t.addEventListener("change",Ba),rt&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Na(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,qa);if(i.some((function(t,e){return!R(t,r[e])}))){var o=t.multiple?e.value.some((function(t){return Ra(t,i)})):e.value!==e.oldValue&&Ra(e.value,i);o&&za(t,"change")}}}};function Na(t,e,n){Da(t,e,n),(nt||it)&&setTimeout((function(){Da(t,e,n)}),0)}function Da(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,u=0,s=t.options.length;u-1,a.selected!==o&&(a.selected=o);else if(R(qa(a),r))return void(t.selectedIndex!==u&&(t.selectedIndex=u));i||(t.selectedIndex=-1)}}function Ra(t,e){return e.every((function(e){return!R(e,t)}))}function qa(t){return"_value"in t?t._value:t.value}function Fa(t){t.target.composing=!0}function Ba(t){t.target.composing&&(t.target.composing=!1,za(t.target,"input"))}function za(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Ha(t){return!t.componentInstance||t.data&&t.data.transition?t:Ha(t.componentInstance._vnode)}var Qa={bind:function(t,e,n){var r=e.value;n=Ha(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,Aa(n,(function(){t.style.display=o}))):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value,i=e.oldValue;if(!r!==!i){n=Ha(n);var o=n.data&&n.data.transition;o?(n.data.show=!0,r?Aa(n,(function(){t.style.display=t.__vOriginalDisplay})):ka(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Ga={model:Pa,show:Qa},Ua={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Wa(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Wa(On(e.children)):t}function Va(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[$(o)]=i[o];return e}function Ka(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Ja(t){while(t=t.parent)if(t.data.transition)return!0}function Za(t,e){return e.key===t.key&&e.tag===t.tag}var Xa=function(t){return t.tag||$n(t)},Ya=function(t){return"show"===t.name},tu={name:"transition",props:Ua,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Xa),n.length)){0;var r=this.mode;0;var i=n[0];if(Ja(this.$vnode))return i;var o=Wa(i);if(!o)return i;if(this._leaving)return Ka(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:u(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var s=(o.data||(o.data={})).transition=Va(this),c=this._vnode,l=Wa(c);if(o.data.directives&&o.data.directives.some(Ya)&&(o.data.show=!0),l&&l.data&&!Za(o,l)&&!$n(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=E({},s);if("out-in"===r)return this._leaving=!0,Se(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Ka(t,i);if("in-out"===r){if($n(o))return c;var p,d=function(){p()};Se(s,"afterEnter",d),Se(s,"enterCancelled",d),Se(f,"delayLeave",(function(t){p=t}))}}return i}}},eu=E({tag:String,moveClass:String},Ua);delete eu.mode;var nu={props:eu,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var i=Ln(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Va(this),u=0;us&&(u.push(o=t.slice(s,i)),a.push(JSON.stringify(o)));var c=no(r[1].trim());a.push("_s("+c+")"),u.push({"@binding":c}),s=i+r[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Su=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,$u="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+G.source+"]*",Ou="((?:"+$u+"\\:)?"+$u+")",Au=new RegExp("^<"+Ou),ku=/^\s*(\/?)>/,Cu=new RegExp("^<\\/"+Ou+"[^>]*>"),ju=/^]+>/i,Tu=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Pu=/&(?:lt|gt|quot|amp|#39);/g,Nu=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Du=g("pre,textarea",!0),Ru=function(t,e){return t&&Du(t)&&"\n"===e[0]};function qu(t,e){var n=e?Nu:Pu;return t.replace(n,(function(t){return Iu[t]}))}function Fu(t,e){var n,r,i=[],o=e.expectHTML,a=e.isUnaryTag||P,u=e.canBeLeftOpenTag||P,s=0;while(t){if(n=t,r&&Eu(r)){var c=0,l=r.toLowerCase(),f=Lu[l]||(Lu[l]=new RegExp("([\\s\\S]*?)(]*>)","i")),p=t.replace(f,(function(t,n,r){return c=r.length,Eu(l)||"noscript"===l||(n=n.replace(//g,"$1").replace(//g,"$1")),Ru(l,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""}));s+=t.length-p.length,t=p,A(l,s-c,s)}else{var d=t.indexOf("<");if(0===d){if(Tu.test(t)){var h=t.indexOf("--\x3e");if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h),s,s+h+3),S(h+3);continue}}if(Mu.test(t)){var v=t.indexOf("]>");if(v>=0){S(v+2);continue}}var g=t.match(ju);if(g){S(g[0].length);continue}var m=t.match(Cu);if(m){var y=s;S(m[0].length),A(m[1],y,s);continue}var _=$();if(_){O(_),Ru(_.tagName,t)&&S(1);continue}}var b=void 0,w=void 0,x=void 0;if(d>=0){w=t.slice(d);while(!Cu.test(w)&&!Au.test(w)&&!Tu.test(w)&&!Mu.test(w)){if(x=w.indexOf("<",1),x<0)break;d+=x,w=t.slice(d)}b=t.substring(0,d)}d<0&&(b=t),b&&S(b.length),e.chars&&b&&e.chars(b,s-b.length,s)}if(t===n){e.chars&&e.chars(t);break}}function S(e){s+=e,t=t.substring(e)}function $(){var e=t.match(Au);if(e){var n,r,i={tagName:e[1],attrs:[],start:s};S(e[0].length);while(!(n=t.match(ku))&&(r=t.match(Su)||t.match(xu)))r.start=s,S(r[0].length),r.end=s,i.attrs.push(r);if(n)return i.unarySlash=n[1],S(n[0].length),i.end=s,i}}function O(t){var n=t.tagName,s=t.unarySlash;o&&("p"===r&&wu(n)&&A(r),u(n)&&r===n&&A(n));for(var c=a(n)||!!s,l=t.attrs.length,f=new Array(l),p=0;p=0;a--)if(i[a].lowerCasedTag===u)break}else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)e.end&&e.end(i[c].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===u?e.start&&e.start(t,[],!0,n,o):"p"===u&&(e.start&&e.start(t,[],!1,n,o),e.end&&e.end(t,n,o))}A()}var Bu,zu,Hu,Qu,Gu,Uu,Wu,Vu,Ku=/^@|^v-on:/,Ju=/^v-|^@|^:/,Zu=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Xu=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Yu=/^\(|\)$/g,ts=/^\[.*\]$/,es=/:(.*)$/,ns=/^:|^\.|^v-bind:/,rs=/\.[^.\]]+(?=[^\]]*$)/g,is=/^v-slot(:|$)|^#/,os=/[\r\n]/,as=/\s+/g,us=x(yu.decode),ss="_empty_";function cs(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:Ts(e),rawAttrsMap:{},parent:n,children:[]}}function ls(t,e){Bu=e.warn||io,Uu=e.isPreTag||P,Wu=e.mustUseProp||P,Vu=e.getTagNamespace||P;var n=e.isReservedTag||P;(function(t){return!!t.component||!n(t.tag)}),Hu=oo(e.modules,"transformNode"),Qu=oo(e.modules,"preTransformNode"),Gu=oo(e.modules,"postTransformNode"),zu=e.delimiters;var r,i,o=[],a=!1!==e.preserveWhitespace,u=e.whitespace,s=!1,c=!1;function l(t){if(f(t),s||t.processed||(t=ds(t,e)),o.length||t===r||r.if&&(t.elseif||t.else)&&ws(r,{exp:t.elseif,block:t}),i&&!t.forbidden)if(t.elseif||t.else)_s(t,i);else{if(t.slotScope){var n=t.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[n]=t}i.children.push(t),t.parent=i}t.children=t.children.filter((function(t){return!t.slotScope})),f(t),t.pre&&(s=!1),Uu(t.tag)&&(c=!1);for(var a=0;a|^function\s*(?:[\w$]+)?\s*\(/,tc=/\([^)]*?\);*$/,ec=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,nc={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},rc={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},ic=function(t){return"if("+t+")return null;"},oc={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ic("$event.target !== $event.currentTarget"),ctrl:ic("!$event.ctrlKey"),shift:ic("!$event.shiftKey"),alt:ic("!$event.altKey"),meta:ic("!$event.metaKey"),left:ic("'button' in $event && $event.button !== 0"),middle:ic("'button' in $event && $event.button !== 1"),right:ic("'button' in $event && $event.button !== 2")};function ac(t,e){var n=e?"nativeOn:":"on:",r="",i="";for(var o in t){var a=uc(t[o]);t[o]&&t[o].dynamic?i+=o+","+a+",":r+='"'+o+'":'+a+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function uc(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map((function(t){return uc(t)})).join(",")+"]";var e=ec.test(t.value),n=Ys.test(t.value),r=ec.test(t.value.replace(tc,""));if(t.modifiers){var i="",o="",a=[];for(var u in t.modifiers)if(oc[u])o+=oc[u],nc[u]&&a.push(u);else if("exact"===u){var s=t.modifiers;o+=ic(["ctrl","shift","alt","meta"].filter((function(t){return!s[t]})).map((function(t){return"$event."+t+"Key"})).join("||"))}else a.push(u);a.length&&(i+=sc(a)),o&&(i+=o);var c=e?"return "+t.value+"($event)":n?"return ("+t.value+")($event)":r?"return "+t.value:t.value;return"function($event){"+i+c+"}"}return e||n?t.value:"function($event){"+(r?"return "+t.value:t.value)+"}"}function sc(t){return"if(!$event.type.indexOf('key')&&"+t.map(cc).join("&&")+")return null;"}function cc(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=nc[t],r=rc[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}function lc(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}}function fc(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}}var pc={on:lc,bind:fc,cloak:I},dc=function(t){this.options=t,this.warn=t.warn||io,this.transforms=oo(t.modules,"transformCode"),this.dataGenFns=oo(t.modules,"genData"),this.directives=E(E({},pc),t.directives);var e=t.isReservedTag||P;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function hc(t,e){var n=new dc(e),r=t?vc(t,n):'_c("div")';return{render:"with(this){return "+r+"}",staticRenderFns:n.staticRenderFns}}function vc(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return gc(t,e);if(t.once&&!t.onceProcessed)return mc(t,e);if(t.for&&!t.forProcessed)return bc(t,e);if(t.if&&!t.ifProcessed)return yc(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return Ic(t,e);var n;if(t.component)n=Pc(t.component,t,e);else{var r;(!t.plain||t.pre&&e.maybeComponent(t))&&(r=wc(t,e));var i=t.inlineTemplate?null:Cc(t,e,!0);n="_c('"+t.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o>>0}function Ac(t){return 1===t.type&&("slot"===t.tag||t.children.some(Ac))}function kc(t,e){var n=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!n)return yc(t,e,kc,"null");if(t.for&&!t.forProcessed)return bc(t,e,kc);var r=t.slotScope===ss?"":String(t.slotScope),i="function("+r+"){return "+("template"===t.tag?t.if&&n?"("+t.if+")?"+(Cc(t,e)||"undefined")+":undefined":Cc(t,e)||"undefined":vc(t,e))+"}",o=r?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+i+o+"}"}function Cc(t,e,n,r,i){var o=t.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var u=n?e.maybeComponent(a)?",1":",0":"";return""+(r||vc)(a,e)+u}var s=n?jc(o,e.maybeComponent):0,c=i||Mc;return"["+o.map((function(t){return c(t,e)})).join(",")+"]"+(s?","+s:"")}}function jc(t,e){for(var n=0,r=0;r':'
',Bc.innerHTML.indexOf(" ")>0}var Uc=!!X&&Gc(!1),Wc=!!X&&Gc(!0),Vc=x((function(t){var e=di(t);return e&&e.innerHTML})),Kc=Or.prototype.$mount;function Jc(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}Or.prototype.$mount=function(t,e){if(t=t&&di(t),t===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"===typeof r)"#"===r.charAt(0)&&(r=Vc(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=Jc(t));if(r){0;var i=Qc(r,{outputSourceRange:!1,shouldDecodeNewlines:Uc,shouldDecodeNewlinesForHref:Wc,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return Kc.call(this,t,e)},Or.compile=Qc,e["a"]=Or}).call(this,n("c8ba"))},a159:function(t,e,n){var r=n("e4ae"),i=n("7e90"),o=n("1691"),a=n("5559")("IE_PROTO"),u=function(){},s="prototype",c=function(){var t,e=n("1ec9")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("32fc").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[s][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u[s]=r(t),n=new u,u[s]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},a25f:function(t,e,n){var r=n("7726"),i=r.navigator;t.exports=i&&i.userAgent||""},a3f7:function(t,e,n){"use strict";n.r(e);n("6b54"),n("28a5"),n("cadf"),n("551c"),n("f751"),n("097d");$("#copysurveyform").submit(i);function r(t){$("#preview-image-container").html('
');var e=t.val();"inherit"===e&&(e=t.data("inherit-template-name")),$.ajax({url:t.data("updateurl"),data:{templatename:e},method:"POST",dataType:"json",success:function(t){$("#preview-image-container").html(t.image)},error:console.ls.error})}function i(){var t="";if(""==$("#copysurveylist").val()&&(t+=sSelectASurveyMessage),""==$("#copysurveyname").val()&&(t=t+"\n\r"+sSelectASurveyName),""!=t)return alert(t),!1}$(document).on("click","[data-copy] :submit",(function(){$("form :input[value='"+$(this).val()+"']").click()})),$(document).on("ready pjax:scriptcomplete",(function(){$("#template").on("change keyup",(function(t){console.ls.log("TEMPLATECHANGE",t),r($(this))})),$("[data-copy]").each((function(){$(this).html($("#"+$(this).data("copy")).html())}));$("#tabs").on("tabsactivate",(function(t,e){e.newTab.index()>4?$("#btnSave").hide():$("#btnSave").show()}))}))},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),u=n("0390"),s=n("5f1b"),c=Math.max,l=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g,h=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),p=String(this),d="function"===typeof e;d||(e=String(e));var m=f.global;if(m){var y=f.unicode;f.lastIndex=0}var _=[];while(1){var b=s(f,p);if(null===b)break;if(_.push(b),!m)break;var w=String(b[0]);""===w&&(f.lastIndex=u(p,o(f.lastIndex),y))}for(var x="",S=0,$=0;$<_.length;$++){b=_[$];for(var O=String(b[0]),A=c(l(a(b.index),p.length),0),k=[],C=1;C=S&&(x+=p.slice(S,A)+M,S=A+O.length)}return x+p.slice(S)}];function g(t,e,r,o,a,u){var s=r+t.length,c=o.length,l=d;return void 0!==a&&(a=i(a),l=p),n.call(u,l,(function(n,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(s);case"<":u=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var p=f(l/10);return 0===p?n:p<=c?void 0===o[p-1]?i.charAt(1):o[p-1]+i.charAt(1):n}u=o[l-1]}return void 0===u?"":u}))}}))},a5b8:function(t,e,n){"use strict";var r=n("d8e8");function i(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new i(t)}},a745:function(t,e,n){t.exports=n("f410")},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),u="["+a+"]",s="​…",c=RegExp("^"+u+u+"*"),l=RegExp(u+u+"*$"),f=function(t,e,n){var i={},u=o((function(){return!!a[t]()||s[t]()!=s})),c=i[t]=u?e(p):a[t];n&&(i[n]=c),r(r.P+r.F*u,"String",i)},p=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},aae3:function(t,e,n){var r=n("d3f4"),i=n("2d95"),o=n("2b4c")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},ab94:function(t,e,n){"use strict";var r=n("6af4"),i=n.n(r);i.a},ac6a:function(t,e,n){for(var r=n("cadf"),i=n("0d58"),o=n("2aba"),a=n("7726"),u=n("32e9"),s=n("84f2"),c=n("2b4c"),l=c("iterator"),f=c("toStringTag"),p=s.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=i(d),v=0;v1?arguments[1]:void 0,r=i(e.length),s=void 0===n?r:Math.min(i(n),r),c=String(t);return u?u.call(e,c,s):e.slice(s-c.length,s)===c}})},b0c5:function(t,e,n){"use strict";var r=n("520a");n("5ca1")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},b0dc:function(t,e,n){var r=n("e4ae");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},b447:function(t,e,n){var r=n("3a38"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},b54a:function(t,e,n){"use strict";n("386b")("link",(function(t){return function(e){return t(this,"a","href",e)}}))},b8e3:function(t,e){t.exports=!0},bcaa:function(t,e,n){var r=n("cb7c"),i=n("d3f4"),o=n("a5b8");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t),a=n.resolve;return a(e),n.promise}},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c366:function(t,e,n){var r=n("6821"),i=n("9def"),o=n("77f1");t.exports=function(t){return function(e,n,a){var u,s=r(e),c=i(s.length),l=o(a,c);if(t&&n!=n){while(c>l)if(u=s[l++],u!=u)return!0}else for(;c>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}}},c367:function(t,e,n){"use strict";var r=n("8436"),i=n("50ed"),o=n("481b"),a=n("36c3");t.exports=n("30f1")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},c3a1:function(t,e,n){var r=n("e6f3"),i=n("1691");t.exports=Object.keys||function(t){return r(t,i)}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),u=n("6a99"),s=n("79e5"),c=n("9093").f,l=n("11e9").f,f=n("86cc").f,p=n("aa77").trim,d="Number",h=r[d],v=h,g=h.prototype,m=o(n("2aeb")(g))==d,y="trim"in String.prototype,_=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,s=e.slice(2),c=0,l=s.length;ci)return NaN;return parseInt(s,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(m?s((function(){g.valueOf.call(n)})):o(n)!=d)?a(new v(_(e)),n,h):_(e)};for(var b,w=n("9e1e")?c(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;w.length>x;x++)i(v,b=w[x])&&!i(h,b)&&f(h,b,l(v,b));h.prototype=g,g.constructor=h,n("2aba")(r,d,h)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c8bb:function(t,e,n){t.exports=n("54a1")},ca5a:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},cadf:function(t,e,n){"use strict";var r=n("9c6c"),i=n("d53b"),o=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},cd1c:function(t,e,n){var r=n("e853");t.exports=function(t,e){return new(r(t))(e)}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,u=i(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);while(e.length>s)r(u,n=e[s++])&&(~o(c,n)||c.push(n));return c}},d2c8:function(t,e,n){var r=n("aae3"),i=n("be13");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},d2d5:function(t,e,n){n("1654"),n("549b"),t.exports=n("584a").Array.from},d399:function(t,e,n){"use strict";var r=n("ed61"),i=n.n(r);i.a},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},da81:function(t,e,n){(function(t,n){var r=200,i="__lodash_hash_undefined__",o=800,a=16,u=9007199254740991,s="[object Arguments]",c="[object Array]",l="[object AsyncFunction]",f="[object Boolean]",p="[object Date]",d="[object Error]",h="[object Function]",v="[object GeneratorFunction]",g="[object Map]",m="[object Number]",y="[object Null]",_="[object Object]",b="[object Proxy]",w="[object RegExp]",x="[object Set]",S="[object String]",$="[object Undefined]",O="[object WeakMap]",A="[object ArrayBuffer]",k="[object DataView]",C="[object Float32Array]",j="[object Float64Array]",T="[object Int8Array]",M="[object Int16Array]",E="[object Int32Array]",L="[object Uint8Array]",I="[object Uint8ClampedArray]",P="[object Uint16Array]",N="[object Uint32Array]",D=/[\\^$.*+?()[\]{}|]/g,R=/^\[object .+?Constructor\]$/,q=/^(?:0|[1-9]\d*)$/,F={};F[C]=F[j]=F[T]=F[M]=F[E]=F[L]=F[I]=F[P]=F[N]=!0,F[s]=F[c]=F[A]=F[f]=F[k]=F[p]=F[d]=F[h]=F[g]=F[m]=F[_]=F[w]=F[x]=F[S]=F[O]=!1;var B="object"==typeof t&&t&&t.Object===Object&&t,z="object"==typeof self&&self&&self.Object===Object&&self,H=B||z||Function("return this")(),Q=e&&!e.nodeType&&e,G=Q&&"object"==typeof n&&n&&!n.nodeType&&n,U=G&&G.exports===Q,W=U&&B.process,V=function(){try{var t=G&&G.require&&G.require("util").types;return t||W&&W.binding&&W.binding("util")}catch(e){}}(),K=V&&V.isTypedArray;function J(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Z(t,e){var n=-1,r=Array(t);while(++n-1}function Rt(t,e){var n=this.__data__,r=te(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function qt(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e1?n[i-1]:void 0,a=i>2?n[2]:void 0;o=t.length>3&&"function"==typeof o?(i--,o):void 0,a&&$e(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),e=Object(e);while(++r-1&&t%1==0&&t0){if(++e>=o)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Ie(t){if(null!=t){try{return ot.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function Pe(t,e){return t===e||t!==t&&e!==e}var Ne=ie(function(){return arguments}())?ie:function(t){return Qe(t)&&at.call(t,"callee")&&!mt.call(t,"callee")},De=Array.isArray;function Re(t){return null!=t&&ze(t.length)&&!Be(t)}function qe(t){return Qe(t)&&Re(t)}var Fe=wt||Xe;function Be(t){if(!He(t))return!1;var e=re(t);return e==h||e==v||e==l||e==b}function ze(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=u}function He(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Qe(t){return null!=t&&"object"==typeof t}function Ge(t){if(!Qe(t)||re(t)!=_)return!1;var e=vt(t);if(null===e)return!0;var n=at.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ot.call(n)==ct}var Ue=K?X(K):ae;function We(t){return ge(t,Ve(t))}function Ve(t){return Re(t)?Zt(t,!0):ue(t)}var Ke=me((function(t,e,n){se(t,e,n)}));function Je(t){return function(){return t}}function Ze(t){return t}function Xe(){return!1}n.exports=Ke}).call(this,n("c8ba"),n("62e4")(t))},dbdb:function(t,e,n){var r=n("584a"),i=n("e53d"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dcbc:function(t,e,n){var r=n("2aba");t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},e6f3:function(t,e,n){var r=n("07e3"),i=n("36c3"),o=n("5b4e")(!1),a=n("5559")("IE_PROTO");t.exports=function(t,e){var n,u=i(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);while(e.length>s)r(u,n=e[s++])&&(~o(c,n)||c.push(n));return c}},e853:function(t,e,n){var r=n("d3f4"),i=n("1169"),o=n("2b4c")("species");t.exports=function(t){var e;return i(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&(e=e[o],null===e&&(e=void 0))),void 0===e?Array:e}},ead5:function(t,e,n){(function(e){ +var n=Object.freeze({});function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function a(t){return!1===t}function u(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function s(t){return null!==t&&"object"===typeof t}var c=Object.prototype.toString;function l(t){return"[object Object]"===c.call(t)}function f(t){return"[object RegExp]"===c.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return i(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function h(t){return null==t?"":Array.isArray(t)||l(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function g(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function w(t,e){return b.call(t,e)}function x(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var S=/-(\w)/g,$=x((function(t){return t.replace(S,(function(t,e){return e?e.toUpperCase():""}))})),O=x((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),A=/\B([A-Z])/g,k=x((function(t){return t.replace(A,"-$1").toLowerCase()}));function C(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function j(t,e){return t.bind(e)}var T=Function.prototype.bind?j:C;function M(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function E(t,e){for(var n in e)t[n]=e[n];return t}function L(t){for(var e={},n=0;n0,it=et&&et.indexOf("edge/")>0,ot=(et&&et.indexOf("android"),et&&/iphone|ipad|ipod|ios/.test(et)||"ios"===tt),at=(et&&/chrome\/\d+/.test(et),et&&/phantomjs/.test(et),et&&et.match(/firefox\/(\d+)/)),ut={}.watch,st=!1;if(X)try{var ct={};Object.defineProperty(ct,"passive",{get:function(){st=!0}}),window.addEventListener("test-passive",null,ct)}catch(Zc){}var lt=function(){return void 0===J&&(J=!X&&!Y&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),J},ft=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function pt(t){return"function"===typeof t&&/native code/.test(t.toString())}var dt,ht="undefined"!==typeof Symbol&&pt(Symbol)&&"undefined"!==typeof Reflect&&pt(Reflect.ownKeys);dt="undefined"!==typeof Set&&pt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var vt=I,gt=0,mt=function(){this.id=gt++,this.subs=[]};mt.prototype.addSub=function(t){this.subs.push(t)},mt.prototype.removeSub=function(t){_(this.subs,t)},mt.prototype.depend=function(){mt.target&&mt.target.addDep(this)},mt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(o&&!w(i,"default"))a=!1;else if(""===a||a===k(t)){var s=ne(String,i.type);(s<0||u0&&(a=je(a,(e||"")+"_"+n),Ce(a[0])&&Ce(c)&&(l[s]=$t(c.text+a[0].text),a.shift()),l.push.apply(l,a)):u(a)?Ce(c)?l[s]=$t(c.text+a):""!==a&&l.push($t(a)):Ce(a)&&Ce(c)?l[s]=$t(c.text+a.text):(o(t._isVList)&&i(a.tag)&&r(a.key)&&i(e)&&(a.key="__vlist"+e+"_"+n+"__"),l.push(a)));return l}function Te(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function Me(t){var e=Ee(t.$options.inject,t);e&&(Mt(!1),Object.keys(e).forEach((function(n){Nt(t,n,e[n])})),Mt(!0))}function Ee(t,e){if(t){for(var n=Object.create(null),r=ht?Reflect.ownKeys(t):Object.keys(t),i=0;i0,a=t?!!t.$stable:!o,u=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&u===r.$key&&!o&&!r.$hasNormal)return r;for(var s in i={},t)t[s]&&"$"!==s[0]&&(i[s]=Ne(e,s,t[s]))}else i={};for(var c in e)c in i||(i[c]=De(e,c));return t&&Object.isExtensible(t)&&(t._normalized=i),W(i,"$stable",a),W(i,"$key",u),W(i,"$hasNormal",o),i}function Ne(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:ke(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function De(t,e){return function(){return t[e]}}function Re(t,e){var n,r,o,a,u;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,o=t.length;r1?M(n):n;for(var r=M(arguments,1),i='event handler for "'+t+'"',o=0,a=n.length;odocument.createEvent("Event").timeStamp&&(Jn=function(){return Zn.now()})}function Xn(){var t,e;for(Kn=Jn(),Un=!0,zn.sort((function(t,e){return t.id-e.id})),Wn=0;WnWn&&zn[n].id>t.id)n--;zn.splice(n+1,0,t)}else zn.push(t);Gn||(Gn=!0,ge(Xn))}}var rr=0,ir=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++rr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new dt,this.newDepIds=new dt,this.expression="","function"===typeof e?this.getter=e:(this.getter=K(e),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};ir.prototype.get=function(){var t;_t(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(Zc){if(!this.user)throw Zc;re(Zc,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ye(t),bt(),this.cleanupDeps()}return t},ir.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},ir.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},ir.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():nr(this)},ir.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(Zc){re(Zc,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},ir.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},ir.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},ir.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||_(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var or={enumerable:!0,configurable:!0,get:I,set:I};function ar(t,e,n){or.get=function(){return this[e][n]},or.set=function(t){this[e][n]=t},Object.defineProperty(t,n,or)}function ur(t){t._watchers=[];var e=t.$options;e.props&&sr(t,e.props),e.methods&&gr(t,e.methods),e.data?cr(t):Pt(t._data={},!0),e.computed&&pr(t,e.computed),e.watch&&e.watch!==ut&&mr(t,e.watch)}function sr(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;o||Mt(!1);var a=function(o){i.push(o);var a=Xt(o,e,n,t);Nt(r,o,a),o in t||ar(t,"_props",o)};for(var u in e)a(u);Mt(!0)}function cr(t){var e=t.$options.data;e=t._data="function"===typeof e?lr(e,t):e||{},l(e)||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);while(i--){var o=n[i];0,r&&w(r,o)||U(o)||ar(t,"_data",o)}Pt(e,!0)}function lr(t,e){_t();try{return t.call(e,e)}catch(Zc){return re(Zc,e,"data()"),{}}finally{bt()}}var fr={lazy:!0};function pr(t,e){var n=t._computedWatchers=Object.create(null),r=lt();for(var i in e){var o=e[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new ir(t,a||I,I,fr)),i in t||dr(t,i,o)}}function dr(t,e,n){var r=!lt();"function"===typeof n?(or.get=r?hr(e):vr(n),or.set=I):(or.get=n.get?r&&!1!==n.cache?hr(e):vr(n.get):I,or.set=n.set||I),Object.defineProperty(t,e,or)}function hr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),mt.target&&e.depend(),e.value}}function vr(t){return function(){return t.call(this,this)}}function gr(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?I:T(e[n],t)}function mr(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i-1)return this;var n=M(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function kr(t){t.mixin=function(t){return this.options=Jt(this.options,t),this}}function Cr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Jt(n.options,t),a["super"]=n,a.options.props&&jr(a),a.options.computed&&Tr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,z.forEach((function(t){a[t]=n[t]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=E({},a.options),i[r]=a,a}}function jr(t){var e=t.options.props;for(var n in e)ar(t.prototype,"_props",n)}function Tr(t){var e=t.options.computed;for(var n in e)dr(t.prototype,n,e[n])}function Mr(t){z.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&l(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function Er(t){return t&&(t.Ctor.options.name||t.tag)}function Lr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Ir(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var u=Er(a.componentOptions);u&&!e(u)&&Pr(n,o,r,i)}}}function Pr(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,_(n,e)}wr(Or),_r(Or),Mn(Or),Pn(Or),bn(Or);var Nr=[String,RegExp,Array],Dr={name:"keep-alive",abstract:!0,props:{include:Nr,exclude:Nr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Pr(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",(function(e){Ir(t,(function(t){return Lr(e,t)}))})),this.$watch("exclude",(function(e){Ir(t,(function(t){return!Lr(e,t)}))}))},render:function(){var t=this.$slots.default,e=On(t),n=e&&e.componentOptions;if(n){var r=Er(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!Lr(o,r))||a&&r&&Lr(a,r))return e;var u=this,s=u.cache,c=u.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;s[l]?(e.componentInstance=s[l].componentInstance,_(c,l),c.push(l)):(s[l]=e,c.push(l),this.max&&c.length>parseInt(this.max)&&Pr(s,c[0],c,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Rr={KeepAlive:Dr};function qr(t){var e={get:function(){return Q}};Object.defineProperty(t,"config",e),t.util={warn:vt,extend:E,mergeOptions:Jt,defineReactive:Nt},t.set=Dt,t.delete=Rt,t.nextTick=ge,t.observable=function(t){return Pt(t),t},t.options=Object.create(null),z.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,E(t.options.components,Rr),Ar(t),kr(t),Cr(t),Mr(t)}qr(Or),Object.defineProperty(Or.prototype,"$isServer",{get:lt}),Object.defineProperty(Or.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Or,"FunctionalRenderContext",{value:Ye}),Or.version="2.6.10";var Fr=g("style,class"),Br=g("input,textarea,option,select,progress"),zr=function(t,e,n){return"value"===n&&Br(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Hr=g("contenteditable,draggable,spellcheck"),Qr=g("events,caret,typing,plaintext-only"),Gr=function(t,e){return Jr(e)||"false"===e?"false":"contenteditable"===t&&Qr(e)?e:"true"},Ur=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Wr="http://www.w3.org/1999/xlink",Vr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Kr=function(t){return Vr(t)?t.slice(6,t.length):""},Jr=function(t){return null==t||!1===t};function Zr(t){var e=t.data,n=t,r=t;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Xr(r.data,e));while(i(n=n.parent))n&&n.data&&(e=Xr(e,n.data));return Yr(e.staticClass,e.class)}function Xr(t,e){return{staticClass:ti(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function Yr(t,e){return i(t)||i(e)?ti(t,ei(e)):""}function ti(t,e){return t?e?t+" "+e:t:e||""}function ei(t){return Array.isArray(t)?ni(t):s(t)?ri(t):"string"===typeof t?t:""}function ni(t){for(var e,n="",r=0,o=t.length;r-1?li[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:li[t]=/HTMLUnknownElement/.test(e.toString())}var pi=g("text,number,password,search,email,tel,url");function di(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function hi(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function vi(t,e){return document.createElementNS(ii[t],e)}function gi(t){return document.createTextNode(t)}function mi(t){return document.createComment(t)}function yi(t,e,n){t.insertBefore(e,n)}function _i(t,e){t.removeChild(e)}function bi(t,e){t.appendChild(e)}function wi(t){return t.parentNode}function xi(t){return t.nextSibling}function Si(t){return t.tagName}function $i(t,e){t.textContent=e}function Oi(t,e){t.setAttribute(e,"")}var Ai=Object.freeze({createElement:hi,createElementNS:vi,createTextNode:gi,createComment:mi,insertBefore:yi,removeChild:_i,appendChild:bi,parentNode:wi,nextSibling:xi,tagName:Si,setTextContent:$i,setStyleScope:Oi}),ki={create:function(t,e){Ci(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Ci(t,!0),Ci(e))},destroy:function(t){Ci(t,!0)}};function Ci(t,e){var n=t.data.ref;if(i(n)){var r=t.context,o=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?_(a[n],o):a[n]===o&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}var ji=new wt("",{},[]),Ti=["create","activate","update","remove","destroy"];function Mi(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&i(t.data)===i(e.data)&&Ei(t,e)||o(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function Ei(t,e){if("input"!==t.tag)return!0;var n,r=i(n=t.data)&&i(n=n.attrs)&&n.type,o=i(n=e.data)&&i(n=n.attrs)&&n.type;return r===o||pi(r)&&pi(o)}function Li(t,e,n){var r,o,a={};for(r=e;r<=n;++r)o=t[r].key,i(o)&&(a[o]=r);return a}function Ii(t){var e,n,a={},s=t.modules,c=t.nodeOps;for(e=0;ev?(f=r(n[y+1])?null:n[y+1].elm,S(t,f,n,h,y,o)):h>y&&O(t,e,p,v)}function C(t,e,n,r){for(var o=n;o-1?Gi(t,e,n):Ur(e)?Jr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Hr(e)?t.setAttribute(e,Gr(e,n)):Vr(e)?Jr(n)?t.removeAttributeNS(Wr,Kr(e)):t.setAttributeNS(Wr,e,n):Gi(t,e,n)}function Gi(t,e,n){if(Jr(n))t.removeAttribute(e);else{if(nt&&!rt&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Ui={create:Hi,update:Hi};function Wi(t,e){var n=e.elm,o=e.data,a=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var u=Zr(e),s=n._transitionClasses;i(s)&&(u=ti(u,ei(s))),u!==n._prevClass&&(n.setAttribute("class",u),n._prevClass=u)}}var Vi,Ki,Ji,Zi,Xi,Yi,to={create:Wi,update:Wi},eo=/[\w).+\-_$\]]/;function no(t){var e,n,r,i,o,a=!1,u=!1,s=!1,c=!1,l=0,f=0,p=0,d=0;for(r=0;r=0;h--)if(v=t.charAt(h)," "!==v)break;v&&eo.test(v)||(c=!0)}}else void 0===i?(d=r+1,i=t.slice(0,r).trim()):g();function g(){(o||(o=[])).push(t.slice(d,r).trim()),d=r+1}if(void 0===i?i=t.slice(0,r).trim():0!==d&&g(),o)for(r=0;r-1?{exp:t.slice(0,Zi),key:'"'+t.slice(Zi+1)+'"'}:{exp:t,key:null};Ki=t,Zi=Xi=Yi=0;while(!xo())Ji=wo(),So(Ji)?Oo(Ji):91===Ji&&$o(Ji);return{exp:t.slice(0,Xi),key:t.slice(Xi+1,Yi)}}function wo(){return Ki.charCodeAt(++Zi)}function xo(){return Zi>=Vi}function So(t){return 34===t||39===t}function $o(t){var e=1;Xi=Zi;while(!xo())if(t=wo(),So(t))Oo(t);else if(91===t&&e++,93===t&&e--,0===e){Yi=Zi;break}}function Oo(t){var e=t;while(!xo())if(t=wo(),t===e)break}var Ao,ko="__r",Co="__c";function jo(t,e,n){n;var r=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if(t.component)return yo(t,r,i),!1;if("select"===o)Eo(t,r,i);else if("input"===o&&"checkbox"===a)To(t,r,i);else if("input"===o&&"radio"===a)Mo(t,r,i);else if("input"===o||"textarea"===o)Lo(t,r,i);else{if(!Q.isReservedTag(o))return yo(t,r,i),!1}return!0}function To(t,e,n){var r=n&&n.number,i=ho(t,"value")||"null",o=ho(t,"true-value")||"true",a=ho(t,"false-value")||"false";ao(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),fo(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+_o(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+_o(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+_o(e,"$$c")+"}",null,!0)}function Mo(t,e,n){var r=n&&n.number,i=ho(t,"value")||"null";i=r?"_n("+i+")":i,ao(t,"checked","_q("+e+","+i+")"),fo(t,"change",_o(e,i),null,!0)}function Eo(t,e,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",o="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",a="var $$selectedVal = "+i+";";a=a+" "+_o(e,o),fo(t,"change",a,null,!0)}function Lo(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,u=i.trim,s=!o&&"range"!==r,c=o?"change":"range"===r?ko:"input",l="$event.target.value";u&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=_o(e,l);s&&(f="if($event.target.composing)return;"+f),ao(t,"value","("+e+")"),fo(t,c,f,null,!0),(u||a)&&fo(t,"blur","$forceUpdate()")}function Io(t){if(i(t[ko])){var e=nt?"change":"input";t[e]=[].concat(t[ko],t[e]||[]),delete t[ko]}i(t[Co])&&(t.change=[].concat(t[Co],t.change||[]),delete t[Co])}function Po(t,e,n){var r=Ao;return function i(){var o=e.apply(null,arguments);null!==o&&Ro(t,i,n,r)}}var No=se&&!(at&&Number(at[1])<=53);function Do(t,e,n,r){if(No){var i=Kn,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}Ao.addEventListener(t,e,st?{capture:n,passive:r}:n)}function Ro(t,e,n,r){(r||Ao).removeEventListener(t,e._wrapper||e,n)}function qo(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};Ao=e.elm,Io(n),xe(n,i,Do,Ro,Po,e.context),Ao=void 0}}var Fo,Bo={create:qo,update:qo};function zo(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,a=e.elm,u=t.data.domProps||{},s=e.data.domProps||{};for(n in i(s.__ob__)&&(s=e.data.domProps=E({},s)),u)n in s||(a[n]="");for(n in s){if(o=s[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),o===u[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=o;var c=r(o)?"":String(o);Ho(a,c)&&(a.value=c)}else if("innerHTML"===n&&ai(a.tagName)&&r(a.innerHTML)){Fo=Fo||document.createElement("div"),Fo.innerHTML=""+o+"";var l=Fo.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(l.firstChild)a.appendChild(l.firstChild)}else if(o!==u[n])try{a[n]=o}catch(Zc){}}}}function Ho(t,e){return!t.composing&&("OPTION"===t.tagName||Qo(t,e)||Go(t,e))}function Qo(t,e){var n=!0;try{n=document.activeElement!==t}catch(Zc){}return n&&t.value!==e}function Go(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var Uo={create:zo,update:zo},Wo=x((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function Vo(t){var e=Ko(t.style);return t.staticStyle?E(t.staticStyle,e):e}function Ko(t){return Array.isArray(t)?L(t):"string"===typeof t?Wo(t):t}function Jo(t,e){var n,r={};if(e){var i=t;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=Vo(i.data))&&E(r,n)}(n=Vo(t.data))&&E(r,n);var o=t;while(o=o.parent)o.data&&(n=Vo(o.data))&&E(r,n);return r}var Zo,Xo=/^--/,Yo=/\s*!important$/,ta=function(t,e,n){if(Xo.test(e))t.style.setProperty(e,n);else if(Yo.test(n))t.style.setProperty(k(e),n.replace(Yo,""),"important");else{var r=na(e);if(Array.isArray(n))for(var i=0,o=n.length;i-1?e.split(oa).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ua(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(oa).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function sa(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&E(e,ca(t.name||"v")),E(e,t),e}return"string"===typeof t?ca(t):void 0}}var ca=x((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),la=X&&!rt,fa="transition",pa="animation",da="transition",ha="transitionend",va="animation",ga="animationend";la&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(da="WebkitTransition",ha="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(va="WebkitAnimation",ga="webkitAnimationEnd"));var ma=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function ya(t){ma((function(){ma(t)}))}function _a(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),aa(t,e))}function ba(t,e){t._transitionClasses&&_(t._transitionClasses,e),ua(t,e)}function wa(t,e,n){var r=Sa(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var u=i===fa?ha:ga,s=0,c=function(){t.removeEventListener(u,l),n()},l=function(e){e.target===t&&++s>=a&&c()};setTimeout((function(){s0&&(n=fa,l=a,f=o.length):e===pa?c>0&&(n=pa,l=c,f=s.length):(l=Math.max(a,c),n=l>0?a>c?fa:pa:null,f=n?n===fa?o.length:s.length:0);var p=n===fa&&xa.test(r[da+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function $a(t,e){while(t.length1}function Ta(t,e){!0!==e.data.show&&Aa(e)}var Ma=X?{create:Ta,activate:Ta,remove:function(t,e){!0!==t.data.show?ka(t,e):e()}}:{},Ea=[Ui,to,Bo,Uo,ia,Ma],La=Ea.concat(zi),Ia=Ii({nodeOps:Ai,modules:La});rt&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&za(t,"input")}));var Pa={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?Se(n,"postpatch",(function(){Pa.componentUpdated(t,e,n)})):Na(t,e,n.context),t._vOptions=[].map.call(t.options,qa)):("textarea"===n.tag||pi(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Fa),t.addEventListener("compositionend",Ba),t.addEventListener("change",Ba),rt&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Na(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,qa);if(i.some((function(t,e){return!R(t,r[e])}))){var o=t.multiple?e.value.some((function(t){return Ra(t,i)})):e.value!==e.oldValue&&Ra(e.value,i);o&&za(t,"change")}}}};function Na(t,e,n){Da(t,e,n),(nt||it)&&setTimeout((function(){Da(t,e,n)}),0)}function Da(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,u=0,s=t.options.length;u-1,a.selected!==o&&(a.selected=o);else if(R(qa(a),r))return void(t.selectedIndex!==u&&(t.selectedIndex=u));i||(t.selectedIndex=-1)}}function Ra(t,e){return e.every((function(e){return!R(e,t)}))}function qa(t){return"_value"in t?t._value:t.value}function Fa(t){t.target.composing=!0}function Ba(t){t.target.composing&&(t.target.composing=!1,za(t.target,"input"))}function za(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Ha(t){return!t.componentInstance||t.data&&t.data.transition?t:Ha(t.componentInstance._vnode)}var Qa={bind:function(t,e,n){var r=e.value;n=Ha(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,Aa(n,(function(){t.style.display=o}))):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value,i=e.oldValue;if(!r!==!i){n=Ha(n);var o=n.data&&n.data.transition;o?(n.data.show=!0,r?Aa(n,(function(){t.style.display=t.__vOriginalDisplay})):ka(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Ga={model:Pa,show:Qa},Ua={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Wa(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Wa(On(e.children)):t}function Va(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[$(o)]=i[o];return e}function Ka(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Ja(t){while(t=t.parent)if(t.data.transition)return!0}function Za(t,e){return e.key===t.key&&e.tag===t.tag}var Xa=function(t){return t.tag||$n(t)},Ya=function(t){return"show"===t.name},tu={name:"transition",props:Ua,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Xa),n.length)){0;var r=this.mode;0;var i=n[0];if(Ja(this.$vnode))return i;var o=Wa(i);if(!o)return i;if(this._leaving)return Ka(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:u(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var s=(o.data||(o.data={})).transition=Va(this),c=this._vnode,l=Wa(c);if(o.data.directives&&o.data.directives.some(Ya)&&(o.data.show=!0),l&&l.data&&!Za(o,l)&&!$n(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=E({},s);if("out-in"===r)return this._leaving=!0,Se(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Ka(t,i);if("in-out"===r){if($n(o))return c;var p,d=function(){p()};Se(s,"afterEnter",d),Se(s,"enterCancelled",d),Se(f,"delayLeave",(function(t){p=t}))}}return i}}},eu=E({tag:String,moveClass:String},Ua);delete eu.mode;var nu={props:eu,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var i=Ln(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Va(this),u=0;us&&(u.push(o=t.slice(s,i)),a.push(JSON.stringify(o)));var c=no(r[1].trim());a.push("_s("+c+")"),u.push({"@binding":c}),s=i+r[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Su=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,$u="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+G.source+"]*",Ou="((?:"+$u+"\\:)?"+$u+")",Au=new RegExp("^<"+Ou),ku=/^\s*(\/?)>/,Cu=new RegExp("^<\\/"+Ou+"[^>]*>"),ju=/^]+>/i,Tu=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Pu=/&(?:lt|gt|quot|amp|#39);/g,Nu=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Du=g("pre,textarea",!0),Ru=function(t,e){return t&&Du(t)&&"\n"===e[0]};function qu(t,e){var n=e?Nu:Pu;return t.replace(n,(function(t){return Iu[t]}))}function Fu(t,e){var n,r,i=[],o=e.expectHTML,a=e.isUnaryTag||P,u=e.canBeLeftOpenTag||P,s=0;while(t){if(n=t,r&&Eu(r)){var c=0,l=r.toLowerCase(),f=Lu[l]||(Lu[l]=new RegExp("([\\s\\S]*?)(]*>)","i")),p=t.replace(f,(function(t,n,r){return c=r.length,Eu(l)||"noscript"===l||(n=n.replace(//g,"$1").replace(//g,"$1")),Ru(l,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""}));s+=t.length-p.length,t=p,A(l,s-c,s)}else{var d=t.indexOf("<");if(0===d){if(Tu.test(t)){var h=t.indexOf("--\x3e");if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h),s,s+h+3),S(h+3);continue}}if(Mu.test(t)){var v=t.indexOf("]>");if(v>=0){S(v+2);continue}}var g=t.match(ju);if(g){S(g[0].length);continue}var m=t.match(Cu);if(m){var y=s;S(m[0].length),A(m[1],y,s);continue}var _=$();if(_){O(_),Ru(_.tagName,t)&&S(1);continue}}var b=void 0,w=void 0,x=void 0;if(d>=0){w=t.slice(d);while(!Cu.test(w)&&!Au.test(w)&&!Tu.test(w)&&!Mu.test(w)){if(x=w.indexOf("<",1),x<0)break;d+=x,w=t.slice(d)}b=t.substring(0,d)}d<0&&(b=t),b&&S(b.length),e.chars&&b&&e.chars(b,s-b.length,s)}if(t===n){e.chars&&e.chars(t);break}}function S(e){s+=e,t=t.substring(e)}function $(){var e=t.match(Au);if(e){var n,r,i={tagName:e[1],attrs:[],start:s};S(e[0].length);while(!(n=t.match(ku))&&(r=t.match(Su)||t.match(xu)))r.start=s,S(r[0].length),r.end=s,i.attrs.push(r);if(n)return i.unarySlash=n[1],S(n[0].length),i.end=s,i}}function O(t){var n=t.tagName,s=t.unarySlash;o&&("p"===r&&wu(n)&&A(r),u(n)&&r===n&&A(n));for(var c=a(n)||!!s,l=t.attrs.length,f=new Array(l),p=0;p=0;a--)if(i[a].lowerCasedTag===u)break}else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)e.end&&e.end(i[c].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===u?e.start&&e.start(t,[],!0,n,o):"p"===u&&(e.start&&e.start(t,[],!1,n,o),e.end&&e.end(t,n,o))}A()}var Bu,zu,Hu,Qu,Gu,Uu,Wu,Vu,Ku=/^@|^v-on:/,Ju=/^v-|^@|^:/,Zu=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Xu=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Yu=/^\(|\)$/g,ts=/^\[.*\]$/,es=/:(.*)$/,ns=/^:|^\.|^v-bind:/,rs=/\.[^.\]]+(?=[^\]]*$)/g,is=/^v-slot(:|$)|^#/,os=/[\r\n]/,as=/\s+/g,us=x(yu.decode),ss="_empty_";function cs(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:Ts(e),rawAttrsMap:{},parent:n,children:[]}}function ls(t,e){Bu=e.warn||io,Uu=e.isPreTag||P,Wu=e.mustUseProp||P,Vu=e.getTagNamespace||P;var n=e.isReservedTag||P;(function(t){return!!t.component||!n(t.tag)}),Hu=oo(e.modules,"transformNode"),Qu=oo(e.modules,"preTransformNode"),Gu=oo(e.modules,"postTransformNode"),zu=e.delimiters;var r,i,o=[],a=!1!==e.preserveWhitespace,u=e.whitespace,s=!1,c=!1;function l(t){if(f(t),s||t.processed||(t=ds(t,e)),o.length||t===r||r.if&&(t.elseif||t.else)&&ws(r,{exp:t.elseif,block:t}),i&&!t.forbidden)if(t.elseif||t.else)_s(t,i);else{if(t.slotScope){var n=t.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[n]=t}i.children.push(t),t.parent=i}t.children=t.children.filter((function(t){return!t.slotScope})),f(t),t.pre&&(s=!1),Uu(t.tag)&&(c=!1);for(var a=0;a|^function\s*(?:[\w$]+)?\s*\(/,tc=/\([^)]*?\);*$/,ec=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,nc={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},rc={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},ic=function(t){return"if("+t+")return null;"},oc={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ic("$event.target !== $event.currentTarget"),ctrl:ic("!$event.ctrlKey"),shift:ic("!$event.shiftKey"),alt:ic("!$event.altKey"),meta:ic("!$event.metaKey"),left:ic("'button' in $event && $event.button !== 0"),middle:ic("'button' in $event && $event.button !== 1"),right:ic("'button' in $event && $event.button !== 2")};function ac(t,e){var n=e?"nativeOn:":"on:",r="",i="";for(var o in t){var a=uc(t[o]);t[o]&&t[o].dynamic?i+=o+","+a+",":r+='"'+o+'":'+a+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function uc(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map((function(t){return uc(t)})).join(",")+"]";var e=ec.test(t.value),n=Ys.test(t.value),r=ec.test(t.value.replace(tc,""));if(t.modifiers){var i="",o="",a=[];for(var u in t.modifiers)if(oc[u])o+=oc[u],nc[u]&&a.push(u);else if("exact"===u){var s=t.modifiers;o+=ic(["ctrl","shift","alt","meta"].filter((function(t){return!s[t]})).map((function(t){return"$event."+t+"Key"})).join("||"))}else a.push(u);a.length&&(i+=sc(a)),o&&(i+=o);var c=e?"return "+t.value+"($event)":n?"return ("+t.value+")($event)":r?"return "+t.value:t.value;return"function($event){"+i+c+"}"}return e||n?t.value:"function($event){"+(r?"return "+t.value:t.value)+"}"}function sc(t){return"if(!$event.type.indexOf('key')&&"+t.map(cc).join("&&")+")return null;"}function cc(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=nc[t],r=rc[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}function lc(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}}function fc(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}}var pc={on:lc,bind:fc,cloak:I},dc=function(t){this.options=t,this.warn=t.warn||io,this.transforms=oo(t.modules,"transformCode"),this.dataGenFns=oo(t.modules,"genData"),this.directives=E(E({},pc),t.directives);var e=t.isReservedTag||P;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function hc(t,e){var n=new dc(e),r=t?vc(t,n):'_c("div")';return{render:"with(this){return "+r+"}",staticRenderFns:n.staticRenderFns}}function vc(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return gc(t,e);if(t.once&&!t.onceProcessed)return mc(t,e);if(t.for&&!t.forProcessed)return bc(t,e);if(t.if&&!t.ifProcessed)return yc(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return Ic(t,e);var n;if(t.component)n=Pc(t.component,t,e);else{var r;(!t.plain||t.pre&&e.maybeComponent(t))&&(r=wc(t,e));var i=t.inlineTemplate?null:Cc(t,e,!0);n="_c('"+t.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o>>0}function Ac(t){return 1===t.type&&("slot"===t.tag||t.children.some(Ac))}function kc(t,e){var n=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!n)return yc(t,e,kc,"null");if(t.for&&!t.forProcessed)return bc(t,e,kc);var r=t.slotScope===ss?"":String(t.slotScope),i="function("+r+"){return "+("template"===t.tag?t.if&&n?"("+t.if+")?"+(Cc(t,e)||"undefined")+":undefined":Cc(t,e)||"undefined":vc(t,e))+"}",o=r?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+i+o+"}"}function Cc(t,e,n,r,i){var o=t.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var u=n?e.maybeComponent(a)?",1":",0":"";return""+(r||vc)(a,e)+u}var s=n?jc(o,e.maybeComponent):0,c=i||Mc;return"["+o.map((function(t){return c(t,e)})).join(",")+"]"+(s?","+s:"")}}function jc(t,e){for(var n=0,r=0;r':'
',Bc.innerHTML.indexOf(" ")>0}var Uc=!!X&&Gc(!1),Wc=!!X&&Gc(!0),Vc=x((function(t){var e=di(t);return e&&e.innerHTML})),Kc=Or.prototype.$mount;function Jc(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}Or.prototype.$mount=function(t,e){if(t=t&&di(t),t===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"===typeof r)"#"===r.charAt(0)&&(r=Vc(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=Jc(t));if(r){0;var i=Qc(r,{outputSourceRange:!1,shouldDecodeNewlines:Uc,shouldDecodeNewlinesForHref:Wc,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return Kc.call(this,t,e)},Or.compile=Qc,e["a"]=Or}).call(this,n("c8ba"))},a159:function(t,e,n){var r=n("e4ae"),i=n("7e90"),o=n("1691"),a=n("5559")("IE_PROTO"),u=function(){},s="prototype",c=function(){var t,e=n("1ec9")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("32fc").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[s][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u[s]=r(t),n=new u,u[s]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},a25f:function(t,e,n){var r=n("7726"),i=r.navigator;t.exports=i&&i.userAgent||""},a3f7:function(t,e,n){"use strict";n.r(e);n("6b54"),n("28a5"),n("7514"),n("cadf"),n("551c"),n("f751"),n("097d");$("#copysurveyform").submit(o);function r(t){var e=t.find("[name=administrator]:checked").val(),n=$("#conditional-administrator-fields");"custom"==e?n.show():n.hide()}function i(t){$("#preview-image-container").html('
');var e=t.val();"inherit"===e&&(e=t.data("inherit-template-name")),$.ajax({url:t.data("updateurl"),data:{templatename:e},method:"POST",dataType:"json",success:function(t){$("#preview-image-container").html(t.image)},error:console.ls.error})}function o(){var t="";if(""==$("#copysurveylist").val()&&(t+=sSelectASurveyMessage),""==$("#copysurveyname").val()&&(t=t+"\n\r"+sSelectASurveyName),""!=t)return alert(t),!1}$(document).on("click","[data-copy] :submit",(function(){$("form :input[value='"+$(this).val()+"']").click()})),$(document).on("ready pjax:scriptcomplete",(function(){$("#template").on("change keyup",(function(t){console.ls.log("TEMPLATECHANGE",t),i($(this))})),$("[data-copy]").each((function(){$(this).html($("#"+$(this).data("copy")).html())}));if($("#tabs").on("tabsactivate",(function(t,e){e.newTab.index()>4?$("#btnSave").hide():$("#btnSave").show()})),$("#addnewsurvey")){var t=$("#addnewsurvey");r(t),t.find("[name=administrator]").on("change",(function(){r(t)}))}}))},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),u=n("0390"),s=n("5f1b"),c=Math.max,l=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g,h=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),p=String(this),d="function"===typeof e;d||(e=String(e));var m=f.global;if(m){var y=f.unicode;f.lastIndex=0}var _=[];while(1){var b=s(f,p);if(null===b)break;if(_.push(b),!m)break;var w=String(b[0]);""===w&&(f.lastIndex=u(p,o(f.lastIndex),y))}for(var x="",S=0,$=0;$<_.length;$++){b=_[$];for(var O=String(b[0]),A=c(l(a(b.index),p.length),0),k=[],C=1;C=S&&(x+=p.slice(S,A)+M,S=A+O.length)}return x+p.slice(S)}];function g(t,e,r,o,a,u){var s=r+t.length,c=o.length,l=d;return void 0!==a&&(a=i(a),l=p),n.call(u,l,(function(n,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(s);case"<":u=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var p=f(l/10);return 0===p?n:p<=c?void 0===o[p-1]?i.charAt(1):o[p-1]+i.charAt(1):n}u=o[l-1]}return void 0===u?"":u}))}}))},a5b8:function(t,e,n){"use strict";var r=n("d8e8");function i(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new i(t)}},a745:function(t,e,n){t.exports=n("f410")},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),u="["+a+"]",s="​…",c=RegExp("^"+u+u+"*"),l=RegExp(u+u+"*$"),f=function(t,e,n){var i={},u=o((function(){return!!a[t]()||s[t]()!=s})),c=i[t]=u?e(p):a[t];n&&(i[n]=c),r(r.P+r.F*u,"String",i)},p=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},aae3:function(t,e,n){var r=n("d3f4"),i=n("2d95"),o=n("2b4c")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},ab94:function(t,e,n){"use strict";var r=n("6af4"),i=n.n(r);i.a},ac6a:function(t,e,n){for(var r=n("cadf"),i=n("0d58"),o=n("2aba"),a=n("7726"),u=n("32e9"),s=n("84f2"),c=n("2b4c"),l=c("iterator"),f=c("toStringTag"),p=s.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=i(d),v=0;v1?arguments[1]:void 0,r=i(e.length),s=void 0===n?r:Math.min(i(n),r),c=String(t);return u?u.call(e,c,s):e.slice(s-c.length,s)===c}})},b0c5:function(t,e,n){"use strict";var r=n("520a");n("5ca1")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},b0dc:function(t,e,n){var r=n("e4ae");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},b447:function(t,e,n){var r=n("3a38"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},b54a:function(t,e,n){"use strict";n("386b")("link",(function(t){return function(e){return t(this,"a","href",e)}}))},b8e3:function(t,e){t.exports=!0},bcaa:function(t,e,n){var r=n("cb7c"),i=n("d3f4"),o=n("a5b8");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t),a=n.resolve;return a(e),n.promise}},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c366:function(t,e,n){var r=n("6821"),i=n("9def"),o=n("77f1");t.exports=function(t){return function(e,n,a){var u,s=r(e),c=i(s.length),l=o(a,c);if(t&&n!=n){while(c>l)if(u=s[l++],u!=u)return!0}else for(;c>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}}},c367:function(t,e,n){"use strict";var r=n("8436"),i=n("50ed"),o=n("481b"),a=n("36c3");t.exports=n("30f1")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},c3a1:function(t,e,n){var r=n("e6f3"),i=n("1691");t.exports=Object.keys||function(t){return r(t,i)}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),u=n("6a99"),s=n("79e5"),c=n("9093").f,l=n("11e9").f,f=n("86cc").f,p=n("aa77").trim,d="Number",h=r[d],v=h,g=h.prototype,m=o(n("2aeb")(g))==d,y="trim"in String.prototype,_=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,s=e.slice(2),c=0,l=s.length;ci)return NaN;return parseInt(s,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(m?s((function(){g.valueOf.call(n)})):o(n)!=d)?a(new v(_(e)),n,h):_(e)};for(var b,w=n("9e1e")?c(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;w.length>x;x++)i(v,b=w[x])&&!i(h,b)&&f(h,b,l(v,b));h.prototype=g,g.constructor=h,n("2aba")(r,d,h)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c8bb:function(t,e,n){t.exports=n("54a1")},ca5a:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},cadf:function(t,e,n){"use strict";var r=n("9c6c"),i=n("d53b"),o=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},cd1c:function(t,e,n){var r=n("e853");t.exports=function(t,e){return new(r(t))(e)}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,u=i(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);while(e.length>s)r(u,n=e[s++])&&(~o(c,n)||c.push(n));return c}},d2c8:function(t,e,n){var r=n("aae3"),i=n("be13");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},d2d5:function(t,e,n){n("1654"),n("549b"),t.exports=n("584a").Array.from},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},da81:function(t,e,n){(function(t,n){var r=200,i="__lodash_hash_undefined__",o=800,a=16,u=9007199254740991,s="[object Arguments]",c="[object Array]",l="[object AsyncFunction]",f="[object Boolean]",p="[object Date]",d="[object Error]",h="[object Function]",v="[object GeneratorFunction]",g="[object Map]",m="[object Number]",y="[object Null]",_="[object Object]",b="[object Proxy]",w="[object RegExp]",x="[object Set]",S="[object String]",$="[object Undefined]",O="[object WeakMap]",A="[object ArrayBuffer]",k="[object DataView]",C="[object Float32Array]",j="[object Float64Array]",T="[object Int8Array]",M="[object Int16Array]",E="[object Int32Array]",L="[object Uint8Array]",I="[object Uint8ClampedArray]",P="[object Uint16Array]",N="[object Uint32Array]",D=/[\\^$.*+?()[\]{}|]/g,R=/^\[object .+?Constructor\]$/,q=/^(?:0|[1-9]\d*)$/,F={};F[C]=F[j]=F[T]=F[M]=F[E]=F[L]=F[I]=F[P]=F[N]=!0,F[s]=F[c]=F[A]=F[f]=F[k]=F[p]=F[d]=F[h]=F[g]=F[m]=F[_]=F[w]=F[x]=F[S]=F[O]=!1;var B="object"==typeof t&&t&&t.Object===Object&&t,z="object"==typeof self&&self&&self.Object===Object&&self,H=B||z||Function("return this")(),Q=e&&!e.nodeType&&e,G=Q&&"object"==typeof n&&n&&!n.nodeType&&n,U=G&&G.exports===Q,W=U&&B.process,V=function(){try{var t=G&&G.require&&G.require("util").types;return t||W&&W.binding&&W.binding("util")}catch(e){}}(),K=V&&V.isTypedArray;function J(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Z(t,e){var n=-1,r=Array(t);while(++n-1}function Rt(t,e){var n=this.__data__,r=te(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function qt(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e1?n[i-1]:void 0,a=i>2?n[2]:void 0;o=t.length>3&&"function"==typeof o?(i--,o):void 0,a&&$e(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),e=Object(e);while(++r-1&&t%1==0&&t0){if(++e>=o)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Ie(t){if(null!=t){try{return ot.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function Pe(t,e){return t===e||t!==t&&e!==e}var Ne=ie(function(){return arguments}())?ie:function(t){return Qe(t)&&at.call(t,"callee")&&!mt.call(t,"callee")},De=Array.isArray;function Re(t){return null!=t&&ze(t.length)&&!Be(t)}function qe(t){return Qe(t)&&Re(t)}var Fe=wt||Xe;function Be(t){if(!He(t))return!1;var e=re(t);return e==h||e==v||e==l||e==b}function ze(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=u}function He(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Qe(t){return null!=t&&"object"==typeof t}function Ge(t){if(!Qe(t)||re(t)!=_)return!1;var e=vt(t);if(null===e)return!0;var n=at.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ot.call(n)==ct}var Ue=K?X(K):ae;function We(t){return ge(t,Ve(t))}function Ve(t){return Re(t)?Zt(t,!0):ue(t)}var Ke=me((function(t,e,n){se(t,e,n)}));function Je(t){return function(){return t}}function Ze(t){return t}function Xe(){return!1}n.exports=Ke}).call(this,n("c8ba"),n("62e4")(t))},dbdb:function(t,e,n){var r=n("584a"),i=n("e53d"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dcbc:function(t,e,n){var r=n("2aba");t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},e6f3:function(t,e,n){var r=n("07e3"),i=n("36c3"),o=n("5b4e")(!1),a=n("5559")("IE_PROTO");t.exports=function(t,e){var n,u=i(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);while(e.length>s)r(u,n=e[s++])&&(~o(c,n)||c.push(n));return c}},e853:function(t,e,n){var r=n("d3f4"),i=n("1169"),o=n("2b4c")("species");t.exports=function(t){var e;return i(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&(e=e[o],null===e&&(e=void 0))),void 0===e?Array:e}},ead5:function(t,e,n){(function(e){ /** * vue-local-storage v0.5.0 * (c) 2017 Alexander Avakov * @license MIT */ -(function(e,n){t.exports=n()})(0,(function(){"use strict";var t=function(){this._properties={}};t.prototype.get=function(t,e){var n=this;if(void 0===e&&(e=null),window.localStorage[t]){var r=String;for(var i in n._properties)if(i===t){r=n._properties[i].type;break}return this._process(r,window.localStorage[t])}return null!==e?e:null},t.prototype.set=function(t,e){var n=this;for(var r in n._properties){var i=n._properties[r].type;if(r===t&&[Array,Object].includes(i))return window.localStorage.setItem(t,JSON.stringify(e)),e}return window.localStorage.setItem(t,e),e},t.prototype.remove=function(t){return window.localStorage.removeItem(t)},t.prototype.addProperty=function(t,e,n){void 0===n&&(n=void 0),e=e||String,this._properties[t]={type:e},window.localStorage[t]||null===n||window.localStorage.setItem(t,[Array,Object].includes(e)?JSON.stringify(n):n)},t.prototype._process=function(t,e){switch(t){case Boolean:return"true"===e;case Number:return parseInt(e,10);case Array:try{var n=JSON.parse(e);return Array.isArray(n)?n:[]}catch(r){return[]}case Object:try{return JSON.parse(e)}catch(r){return{}}default:return e}};var n=new t,r={install:function(t,r){if(void 0===r&&(r={}),"undefined"===typeof e||!e.server&&!e.SERVER_BUILD&&"server"!==Object({NODE_ENV:"production",BASE_URL:"/"}).VUE_ENV){try{var i="__vue-localstorage-test__";window.localStorage.setItem(i,i),window.localStorage.removeItem(i)}catch(u){console.error("Local storage is not supported")}var o=r.name||"localStorage",a=r.bind;t.mixin({beforeCreate:function(){var e=this;this.$options[o]&&Object.keys(this.$options[o]).forEach((function(r){var i=e.$options[o][r],u=[i.type,i.default],s=u[0],c=u[1];n.addProperty(r,s,c);var l=Object.getOwnPropertyDescriptor(n,r);if(l)t.config.silent||console.log(r+": is already defined and will be reused");else{var f={get:function(){return t.localStorage.get(r,c)},set:function(e){return t.localStorage.set(r,e)},configurable:!0};Object.defineProperty(n,r,f),t.util.defineReactive(n,r,c)}(a||i.bind)&&!1!==i.bind&&(e.$options.computed=e.$options.computed||{},e.$options.computed[r]||(e.$options.computed[r]={get:function(){return t.localStorage[r]},set:function(e){t.localStorage[r]=e}}))}))}}),t[o]=n,t.prototype["$"+o]=n}}};return r}))}).call(this,n("f28c"))},ebd6:function(t,e,n){var r=n("cb7c"),i=n("d8e8"),o=n("2b4c")("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[o])?e:i(n)}},ed61:function(t,e,n){},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f28c:function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}function s(t){if(r===clearTimeout)return clearTimeout(t);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{return r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(function(){try{n="function"===typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"===typeof clearTimeout?clearTimeout:a}catch(t){r=a}})();var c,l=[],f=!1,p=-1;function d(){f&&c&&(f=!1,c.length?l=c.concat(l):p=-1,l.length&&h())}function h(){if(!f){var t=u(d);f=!0;var e=l.length;while(e){c=l,l=[];while(++p1)for(var n=1;n1)for(var n=1;n String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$
') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.15';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading and trailing whitespace. */\n var reTrim = /^\\s+|\\s+$/g,\n reTrimStart = /^\\s+/,\n reTrimEnd = /\\s+$/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n var index = -1;\n iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n value = iteratee(value);\n\n var low = 0,\n high = array == null ? 0 : array.length,\n valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_questionsgroups.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_questionsgroups.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./_questionsgroups.vue?vue&type=template&id=259f7f98&\"\nimport script from \"./_questionsgroups.vue?vue&type=script&lang=js&\"\nexport * from \"./_questionsgroups.vue?vue&type=script&lang=js&\"\nimport style0 from \"./_questionsgroups.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:_vm.currentKey,staticClass:\"ls-space margin bottom-15 top-5 col-12\",staticStyle:{\"height\":\"40px\"}},[_c('div',{staticClass:\"ls-flex-row align-content-space-between align-items-flex-end ls-space padding left-0 right-10 bottom-0 top-0\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(!_vm.$store.getters.isCollapsed)?_c('button',{staticClass:\"btn btn-default ls-space padding left-15 right-15\",on:{\"click\":function($event){return _vm.$emit('collapse')}}},[_c('i',{class:_vm.$store.getters.isRTL ? 'fa fa-chevron-right' : 'fa fa-chevron-left'})]):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade\"}},[(!_vm.$store.getters.isCollapsed)?_c('div',{staticClass:\"ls-flex-item grow-10 col-12\"},[_c('div',{staticClass:\"btn-group btn-group col-12\"},[_c('button',{staticClass:\"btn col-6 force color white onhover tabbutton\",class:_vm.currentTab =='settings' ? 'btn-primary' : 'btn-default',attrs:{\"id\":\"adminsidepanel__sidebar--selectorSettingsButton\"},on:{\"click\":function($event){_vm.currentTab='settings'}}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"translate\")(\"settings\"))+\"\\n \")]),_c('button',{staticClass:\"btn col-6 force color white onhover tabbutton\",class:_vm.currentTab =='questiontree' ? 'btn-primary' : 'btn-default',attrs:{\"id\":\"adminsidepanel__sidebar--selectorStructureButton\"},on:{\"click\":function($event){_vm.currentTab='questiontree'}}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"translate\")(\"structure\"))+\"\\n \")])])]):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.$store.getters.isCollapsed)?_c('button',{staticClass:\"btn btn-default ls-space padding left-15 right-15\",on:{\"click\":function($event){return _vm.$emit('collapse')}}},[_c('i',{class:_vm.$store.getters.isRTL ? 'fa fa-chevron-left' : 'fa fa-chevron-right'})]):_vm._e()])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_sidebarStateToggle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_sidebarStateToggle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_sidebarStateToggle.vue?vue&type=template&id=34d37dcc&\"\nimport script from \"./_sidebarStateToggle.vue?vue&type=script&lang=js&\"\nexport * from \"./_sidebarStateToggle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ls-flex-column fill menu-pane overflow-enabled ls-space padding all-0 margin top-5\"},[_vm._l((_vm.sortedMenues),function(menu){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loadingState),expression:\"!loadingState\"}],key:menu.id,staticClass:\"ls-flex-row wrap ls-space padding all-0\",attrs:{\"title\":menu.title,\"id\":menu.id}},[_c('label',{staticClass:\"menu-label\"},[_vm._v(_vm._s(menu.title))]),_c('submenu',{attrs:{\"menu\":menu}})],1)}),(_vm.loadingState)?_c('loader-widget',{attrs:{\"id\":\"sidemenuLoaderWidget\"}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.iconType == 'fontawesome')?_c('i',{staticClass:\"fa\",class:'fa-'+_vm.icon},[_vm._v(\" \")]):(_vm.iconType == 'image')?_c('img',{attrs:{\"width\":\"32px\",\"src\":_vm.icon}}):(_vm.iconType == 'iconclass')?_c('i',{class:_vm.icon},[_vm._v(\" \")]):_c('span')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_menuicon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_menuicon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_menuicon.vue?vue&type=template&id=7f77dd1a&\"\nimport script from \"./_menuicon.vue?vue&type=script&lang=js&\"\nexport * from \"./_menuicon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"list-group subpanel col-12\",class:'level-'+(_vm.menu.level)},[_vm._l((_vm.sortedMenuEntries),function(menuItem){return _c('a',{key:menuItem.id,staticClass:\"list-group-item\",class:_vm.getLinkClass(menuItem),attrs:{\"href\":menuItem.link,\"target\":menuItem.link_external == true ? '_blank' : '',\"id\":'sidemenu_'+menuItem.name},on:{\"click\":function($event){$event.stopPropagation();return _vm.setActiveMenuItemIndex(menuItem)}}},[_c('div',{staticClass:\"col-12\",class:menuItem.menu_class,attrs:{\"title\":_vm.reConvertHTML(menuItem.menu_description),\"data-toggle\":\"tooltip\"}},[_c('div',{staticClass:\"ls-space padding all-0\",class:_vm.$store.state.lastMenuItemOpen == menuItem.id ? 'col-sm-10' : 'col-sm-12'},[_c('menuicon',{attrs:{\"icon-type\":menuItem.menu_icon_type,\"icon\":menuItem.menu_icon}}),_c('span',{domProps:{\"innerHTML\":_vm._s(menuItem.menu_title)}}),(menuItem.link_external == true)?_c('i',{staticClass:\"fa fa-external-link\"},[_vm._v(\" \")]):_vm._e()],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$store.state.lastMenuItemOpen == menuItem.id),expression:\"$store.state.lastMenuItemOpen == menuItem.id\"}],staticClass:\"col-sm-2 text-center ls-space padding all-0 background white\"},[_c('i',{staticClass:\"fa fa-chevron-right\"},[_vm._v(\" \")])])])])}),_vm._l((_vm.menu.submenus),function(submenu){return _c('li',{key:submenu.id,staticClass:\"list-group-item\",class:_vm.checkIsOpen(submenu) ? 'menu-selected' : '',on:{\"!click\":function($event){$event.stopPropagation();return _vm.setActiveMenuIndex(submenu)}}},[_c('a',{staticClass:\"ls-flex-row nowrap align-item-center align-content-center\",class:_vm.checkIsOpen(submenu) ? 'ls-space margin bottom-5' : '',attrs:{\"href\":\"#\",\"title\":_vm.reConvertHTML(submenu.description),\"data-toggle\":\"tooltip\"}},[_c('div',{staticClass:\"ls-space col-sm-10 padding all-0\"},[_c('menuicon',{attrs:{\"icon-type\":\"fontawesome\",\"icon\":\"arrow-right\"}}),_c('span',{domProps:{\"innerHTML\":_vm._s(submenu.title)}})],1),_c('div',{staticClass:\"col-sm-2 text-center ls-space padding all-0\",class:(_vm.checkIsOpen(submenu) ? 'menu-open' : '')},[_c('i',{staticClass:\"fa fa-level-down\"})])]),_c('transition',{attrs:{\"name\":\"slide-fade-down\"}},[(_vm.checkIsOpen(submenu))?_c('submenu',{attrs:{\"menu\":submenu}}):_vm._e()],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_submenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_submenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_submenu.vue?vue&type=template&id=6efd1dee&\"\nimport script from \"./_submenu.vue?vue&type=script&lang=js&\"\nexport * from \"./_submenu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_sidemenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_sidemenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_sidemenu.vue?vue&type=template&id=67ef8c0c&\"\nimport script from \"./_sidemenu.vue?vue&type=script&lang=js&\"\nexport * from \"./_sidemenu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ls-flex-column fill\"},[_vm._l((_vm.sortedMenues),function(menu){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loadingState),expression:\"!loadingState\"}],key:menu.title,staticClass:\"ls-space margin top-10\",attrs:{\"title\":menu.title}},[_c('div',{staticClass:\"btn-group-vertical ls-space padding right-10\"},_vm._l((_vm.sortedMenuEntries(menu.entries)),function(menuItem){return _c('a',{key:menuItem.id,staticClass:\"btn btn-icon\",class:_vm.compileEntryClasses(menuItem),attrs:{\"href\":menuItem.link,\"title\":_vm.reConvertHTML(menuItem.menu_description),\"target\":menuItem.link_external ? '_blank' : '_self',\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){return _vm.setActiveMenuIndex(menuItem)}}},[(menuItem.menu_icon_type == 'fontawesome')?[_c('i',{staticClass:\"quickmenuIcon fa\",class:'fa-'+menuItem.menu_icon})]:(menuItem.menu_icon_type == 'image')?[_c('img',{attrs:{\"width\":\"32px\",\"src\":menuItem.menu_icon}})]:(menuItem.menu_icon_type == 'iconclass')?[_c('i',{staticClass:\"quickmenuIcon\",class:menuItem.menu_icon})]:_vm._e()],2)}),0)])}),(_vm.loadingState)?_c('loader-widget',{attrs:{\"id\":\"quickmenuLoadingIcon\",\"extra-class\":\"loader-quickmenu\"}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_quickmenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_quickmenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_quickmenu.vue?vue&type=template&id=557e93b6&\"\nimport script from \"./_quickmenu.vue?vue&type=script&lang=js&\"\nexport * from \"./_quickmenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./_quickmenu.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./sidebar.vue?vue&type=template&id=3269e70e&scoped=true&\"\nimport script from \"./sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./sidebar.vue?vue&type=style&index=0&id=3269e70e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3269e70e\",\n null\n \n)\n\nexport default component.exports","/**\n * vuex v2.5.0\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '2.5.0',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","import lodashMerge from 'lodash.merge';\n\n/**\r\n * Created by championswimmer on 22/07/17.\r\n */\r\nvar MockStorage;\r\n// @ts-ignore\r\n{\r\n MockStorage = /** @class */ (function () {\r\n function class_1() {\r\n }\r\n Object.defineProperty(class_1.prototype, \"length\", {\r\n get: function () {\r\n return Object.keys(this).length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n class_1.prototype.key = function (index) {\r\n return Object.keys(this)[index];\r\n };\r\n class_1.prototype.setItem = function (key, data) {\r\n this[key] = data.toString();\r\n };\r\n class_1.prototype.getItem = function (key) {\r\n return this[key];\r\n };\r\n class_1.prototype.removeItem = function (key) {\r\n delete this[key];\r\n };\r\n class_1.prototype.clear = function () {\r\n for (var _i = 0, _a = Object.keys(this); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n delete this[key];\r\n }\r\n };\r\n return class_1;\r\n }());\r\n}\n\n// tslint:disable: variable-name\r\nvar SimplePromiseQueue = /** @class */ (function () {\r\n function SimplePromiseQueue() {\r\n this._queue = [];\r\n this._flushing = false;\r\n }\r\n SimplePromiseQueue.prototype.enqueue = function (promise) {\r\n this._queue.push(promise);\r\n if (!this._flushing) {\r\n return this.flushQueue();\r\n }\r\n return Promise.resolve();\r\n };\r\n SimplePromiseQueue.prototype.flushQueue = function () {\r\n var _this = this;\r\n this._flushing = true;\r\n var chain = function () {\r\n var nextTask = _this._queue.shift();\r\n if (nextTask) {\r\n return nextTask.then(chain);\r\n }\r\n else {\r\n _this._flushing = false;\r\n }\r\n };\r\n return Promise.resolve(chain());\r\n };\r\n return SimplePromiseQueue;\r\n}());\n\nfunction merge(into, from) {\r\n return lodashMerge({}, into, from);\r\n}\n\nvar CircularJSON = JSON;\r\n/**\r\n * A class that implements the vuex persistence.\r\n * @type S type of the 'state' inside the store (default: any)\r\n */\r\nvar VuexPersistence = /** @class */ (function () {\r\n /**\r\n * Create a {@link VuexPersistence} object.\r\n * Use the plugin function of this class as a\r\n * Vuex plugin.\r\n * @param {PersistOptions} options\r\n */\r\n function VuexPersistence(options) {\r\n var _this = this;\r\n // tslint:disable-next-line:variable-name\r\n this._mutex = new SimplePromiseQueue();\r\n /**\r\n * Creates a subscriber on the store. automatically is used\r\n * when this is used a vuex plugin. Not for manual usage.\r\n * @param store\r\n */\r\n this.subscriber = function (store) {\r\n return function (handler) { return store.subscribe(handler); };\r\n };\r\n if (typeof options === 'undefined')\r\n options = {};\r\n this.key = ((options.key != null) ? options.key : 'vuex');\r\n this.subscribed = false;\r\n this.supportCircular = options.supportCircular || false;\r\n if (this.supportCircular) {\r\n CircularJSON = require('circular-json');\r\n }\r\n // @ts-ignore\r\n if (process.env.NODE_ENV === 'production') {\r\n this.storage = options.storage || window.localStorage;\r\n }\r\n else {\r\n // @ts-ignore\r\n {\r\n this.storage = options.storage || (typeof window !== 'undefined' ? window.localStorage : new MockStorage());\r\n }\r\n }\r\n /**\r\n * How this works is -\r\n * 1. If there is options.reducer function, we use that, if not;\r\n * 2. We check options.modules;\r\n * 1. If there is no options.modules array, we use entire state in reducer\r\n * 2. Otherwise, we create a reducer that merges all those state modules that are\r\n * defined in the options.modules[] array\r\n * @type {((state: S) => {}) | ((state: S) => S) | ((state: any) => {})}\r\n */\r\n this.reducer = ((options.reducer != null)\r\n ? options.reducer\r\n : ((options.modules == null)\r\n ? (function (state) { return state; })\r\n : (function (state) {\r\n return options.modules.reduce(function (a, i) {\r\n var _a;\r\n return merge(a, (_a = {}, _a[i] = state[i], _a));\r\n }, { /* start empty accumulator*/});\r\n })));\r\n this.filter = options.filter || (function (mutation) { return true; });\r\n this.strictMode = options.strictMode || false;\r\n this.RESTORE_MUTATION = function RESTORE_MUTATION(state, savedState) {\r\n var mergedState = merge(state, savedState || {});\r\n for (var _i = 0, _a = Object.keys(mergedState); _i < _a.length; _i++) {\r\n var propertyName = _a[_i];\r\n this._vm.$set(state, propertyName, mergedState[propertyName]);\r\n }\r\n };\r\n this.asyncStorage = options.asyncStorage || false;\r\n var storageConfig = this.storage && (this.storage)._config;\r\n this.asyncStorage = this.asyncStorage || (storageConfig && storageConfig.name) === 'localforage';\r\n if (this.asyncStorage) {\r\n /**\r\n * Async {@link #VuexPersistence.restoreState} implementation\r\n * @type {((key: string, storage?: Storage) =>\r\n * (Promise | S)) | ((key: string, storage: AsyncStorage) => Promise)}\r\n */\r\n this.restoreState = ((options.restoreState != null)\r\n ? options.restoreState\r\n : (function (key, storage) {\r\n return (storage).getItem(key)\r\n .then(function (value) {\r\n return typeof value === 'string' // If string, parse, or else, just return\r\n ? (_this.supportCircular\r\n ? CircularJSON.parse(value || '{}')\r\n : JSON.parse(value || '{}'))\r\n : (value || {});\r\n });\r\n }));\r\n /**\r\n * Async {@link #VuexPersistence.saveState} implementation\r\n * @type {((key: string, state: {}, storage?: Storage) =>\r\n * (Promise | void)) | ((key: string, state: {}, storage?: Storage) => Promise)}\r\n */\r\n this.saveState = ((options.saveState != null)\r\n ? options.saveState\r\n : (function (key, state, storage) {\r\n return (storage).setItem(key, // Second argument is state _object_ if localforage, stringified otherwise\r\n (((storage && storage._config && storage._config.name) === 'localforage')\r\n ? merge({}, state || {})\r\n : (_this.supportCircular\r\n ? CircularJSON.stringify(state)\r\n : JSON.stringify(state))));\r\n }));\r\n /**\r\n * Async version of plugin\r\n * @param {Store} store\r\n */\r\n this.plugin = function (store) {\r\n (_this.restoreState(_this.key, _this.storage)).then(function (savedState) {\r\n /**\r\n * If in strict mode, do only via mutation\r\n */\r\n if (_this.strictMode) {\r\n store.commit('RESTORE_MUTATION', savedState);\r\n }\r\n else {\r\n store.replaceState(merge(store.state, savedState || {}));\r\n }\r\n _this.subscriber(store)(function (mutation, state) {\r\n if (_this.filter(mutation)) {\r\n _this._mutex.enqueue(_this.saveState(_this.key, _this.reducer(state), _this.storage));\r\n }\r\n });\r\n _this.subscribed = true;\r\n });\r\n };\r\n }\r\n else {\r\n /**\r\n * Sync {@link #VuexPersistence.restoreState} implementation\r\n * @type {((key: string, storage?: Storage) =>\r\n * (Promise | S)) | ((key: string, storage: Storage) => (any | string | {}))}\r\n */\r\n this.restoreState = ((options.restoreState != null)\r\n ? options.restoreState\r\n : (function (key, storage) {\r\n var value = (storage).getItem(key);\r\n if (typeof value === 'string') { // If string, parse, or else, just return\r\n return (_this.supportCircular\r\n ? CircularJSON.parse(value || '{}')\r\n : JSON.parse(value || '{}'));\r\n }\r\n else {\r\n return (value || {});\r\n }\r\n }));\r\n /**\r\n * Sync {@link #VuexPersistence.saveState} implementation\r\n * @type {((key: string, state: {}, storage?: Storage) =>\r\n * (Promise | void)) | ((key: string, state: {}, storage?: Storage) => Promise)}\r\n */\r\n this.saveState = ((options.saveState != null)\r\n ? options.saveState\r\n : (function (key, state, storage) {\r\n return (storage).setItem(key, // Second argument is state _object_ if localforage, stringified otherwise\r\n (_this.supportCircular\r\n ? CircularJSON.stringify(state)\r\n : JSON.stringify(state)));\r\n }));\r\n /**\r\n * Sync version of plugin\r\n * @param {Store} store\r\n */\r\n this.plugin = function (store) {\r\n var savedState = _this.restoreState(_this.key, _this.storage);\r\n if (_this.strictMode) {\r\n store.commit('RESTORE_MUTATION', savedState);\r\n }\r\n else {\r\n store.replaceState(merge(store.state, savedState || {}));\r\n }\r\n _this.subscriber(store)(function (mutation, state) {\r\n if (_this.filter(mutation)) {\r\n _this.saveState(_this.key, _this.reducer(state), _this.storage);\r\n }\r\n });\r\n _this.subscribed = true;\r\n };\r\n }\r\n }\r\n return VuexPersistence;\r\n}());\n\nexport default VuexPersistence;\nexport { VuexPersistence, MockStorage };\n//# sourceMappingURL=index.js.map\n","export default function(userid) {\n return {\n surveyid: 0,\n language: '',\n maxHeight: 0,\n inSurveyViewHeight: 1000,\n sideBodyHeight: '100%',\n sideBarHeight: 400,\n currentUser: userid,\n currentTab: 'settings',\n sidebarwidth: 380,\n maximalSidebar: false,\n isCollapsed: false,\n pjax: null,\n pjaxLoading: false,\n lastMenuOpen: false,\n lastMenuItemOpen: false,\n lastQuestionOpen: false,\n lastQuestionGroupOpen: false,\n questionGroupOpenArray: [],\n questiongroups: [],\n collapsedmenus: null,\n sidemenus: null,\n topmenus: null,\n bottommenus: null,\n surveyActiveState: false,\n toggleKey: Math.floor(Math.random()*10000)+'--key',\n allowOrganizer: true\n };\n};\n","export default {\n substractContainer: state => {\n let bodyWidth = (1 - (parseInt(state.sidebarwidth)/$('#vue-apps-main-container').width()))*100;\n let collapsedBodyWidth = (1 - (parseInt('98px')/$('#vue-apps-main-container').width()))*100;\n return Math.floor(state.isCollapsed ? collapsedBodyWidth : bodyWidth) + '%';\n },\n sideBarSize : state => {\n let sidebarWidth = (parseInt(state.sidebarwidth)/$('#vue-apps-main-container').width())*100;\n let collapsedSidebarWidth = (parseInt(98)/$('#vue-apps-main-container').width())*100;\n return Math.ceil(state.isCollapsed ? collapsedSidebarWidth : sidebarWidth) + '%';\n },\n isRTL: state => {\n return document.getElementsByTagName(\"html\")[0].getAttribute(\"dir\") == 'rtl';\n },\n isCollapsed: state => {\n if(window.innerWidth < 768) {\n return false;\n }\n return state.isCollapsed;\n }\n};\n","export default {\n updateSurveyId(state, newSurveyId) {\n state.surveyid = newSurveyId;\n },\n changeLanguage(state, language) {\n state.language = language;\n },\n changeCurrentTab(state, value) {\n state.currentTab = value;\n },\n changeSidebarwidth(state, value) {\n state.sidebarwidth = value;\n },\n maxSideBarWidth(state, value) {\n state.maximalSidebar = value;\n },\n changeIsCollapsed(state, value) {\n state.isCollapsed = value;\n $(document).trigger('vue-sidemenu-update-link');\n },\n changeMaxHeight(state, newHeight) {\n state.maxHeight = newHeight;\n },\n changeSideBarHeight(state, newHeight) {\n state.sideBarHeight = newHeight;\n },\n changeInSurveyViewHeight(state, newHeight) {\n state.inSurveyViewHeight = newHeight;\n },\n changeSideBodyHeight(state, newHeight) {\n state.sideBodyHeight = newHeight+'px' || '100%';\n },\n changeCurrentUser(state, newUser) {\n state.currentUser = newUser;\n },\n closeAllMenus(state) {\n state.lastMenuOpen = false;\n state.lastMenuItemOpen = false;\n state.lastQuestionGroupOpen = false;\n state.lastQuestionOpen = false;\n },\n lastMenuItemOpen(state, menuItem) {\n state.lastMenuOpen = menuItem.menu_id;\n state.lastMenuItemOpen = menuItem.id;\n state.lastQuestionGroupOpen = false;\n state.lastQuestionOpen = false;\n },\n lastMenuOpen(state, menuObject) {\n state.lastMenuOpen = menuObject.id;\n state.lastQuestionOpen = false;\n state.lastMenuItemOpen = false;\n },\n lastQuestionOpen(state, questionObject) {\n state.lastQuestionGroupOpen = questionObject.gid;\n state.lastQuestionOpen = questionObject.qid;\n state.lastMenuItemOpen = false;\n },\n lastQuestionGroupOpen(state, questionGroupObject) {\n state.lastQuestionGroupOpen = questionGroupObject.gid;\n state.lastQuestionOpen = false;\n },\n questionGroupOpenArray(state, questionGroupOpenArray) {\n state.questionGroupOpenArray = questionGroupOpenArray;\n },\n updateQuestiongroups(state, questiongroups) {\n state.questiongroups = questiongroups;\n },\n addToQuestionGroupOpenArray(state, questiongroupToAdd) {\n let tmpArray = state.questionGroupOpenArray;\n tmpArray.push(questiongroupToAdd.gid);\n state.questionGroupOpenArray = tmpArray;\n },\n updateSidemenus(state, sidemenus) {\n state.sidemenus = sidemenus;\n },\n updateCollapsedmenus(state, collapsedmenus) {\n state.collapsedmenus = collapsedmenus;\n },\n updateTopmenus(state, topmenus) {\n state.topmenus = topmenus;\n },\n updateBottommenus(state, bottommenus) {\n state.bottommenus = bottommenus;\n },\n setSurveyActiveState(state, surveyState) {\n state.surveyActiveState = !!surveyState;\n },\n newToggleKey(state){\n state.toggleKey = Math.floor(Math.random()*10000)+'--key';\n },\n setAllowOrganizer(state, newVal){\n state.allowOrganizer = newVal;\n }\n};\n","import _Array$isArray from \"../../core-js/array/is-array\";\nexport default function _arrayWithoutHoles(arr) {\n if (_Array$isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","import _Array$from from \"../../core-js/array/from\";\nimport _isIterable from \"../../core-js/is-iterable\";\nexport default function _iterableToArray(iter) {\n if (_isIterable(Object(iter)) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return _Array$from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _Object$defineProperty from \"../../core-js/object/define-property\";\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n\n _Object$defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/* eslint no-console: \"off\" */\nclass ConsoleShim {\n constructor(param='', silencer=false) {\n\n this.param = param;\n this.silencer = silencer;\n this.collector = [];\n this.currentGroupDescription = '';\n this.activeGroups = 0;\n this.timeHolder = null;\n this.methods = [\n 'group', 'groupEnd', 'log', 'trace', 'time', 'timeEnd', 'error', 'warn'\n ];\n\n this.silent = {\n group : ()=>{return;},\n groupEnd : ()=>{return;},\n log : ()=>{return;},\n trace : ()=>{return;},\n time : ()=>{return;},\n timeEnd : ()=>{return;},\n error : ()=>{return;},\n err : ()=>{return;},\n debug : ()=>{return;},\n warn : ()=>{return;}\n }\n }\n\n _generateError() {\n try {\n throw new Error();\n } catch (err) {\n return err;\n }\n }\n _insertParamToArguments(rawArgs){\n if(this.param !== ''){\n let args = [...rawArgs];\n args.unshift(this.param);\n return args;\n }\n return Array.from(arguments);\n }\n setSilent(newValue = null){\n this.silencer = newValue || !this.silencer;\n }\n //Start grouping logs\n group() {\n if(this.silencer) { return; }\n const args = this._insertParamToArguments(arguments);\n if (typeof console.group === 'function') {\n console.group.apply(console, args);\n return;\n }\n const description = args[0] || 'GROUP';\n this.currentGroupDescription = description;\n this.activeGroups++;\n }\n //Stop grouping logs\n groupEnd() {\n if(this.silencer) { return; }\n const args = this._insertParamToArguments(arguments);\n if (typeof console.groupEnd === 'function') {\n console.groupEnd.apply(console, args);\n return;\n }\n this.currentGroupDescription = '';\n this.activeGroups--;\n this.activeGroups = this.activeGroups === 0 ? 0 : this.activeGroups--;\n }\n //Simplest mechanism to log stuff\n // Aware of the group shim\n log() {\n if(this.silencer) { return; }\n const args = this._insertParamToArguments(arguments);\n if (typeof console.group === 'function') {\n console.log.apply(console, args);\n return;\n }\n args.shift();\n args.unshift(' '.repeat(this.activeGroups * 2));\n this.log.apply(this,args);\n }\n //Trace back the apply.\n //Uses either the inbuilt function console trace or opens a shim to trace by calling this._insertParamToArguments(arguments).callee\n trace() {\n if(this.silencer) { return; }\n const args = this._insertParamToArguments(arguments); \n if (typeof console.trace === 'function') {\n console.trace.apply(console, args);\n return;\n }\n const artificialError = this._generateError();\n if (artificialError.stack) {\n this.log.apply(console, artificialError.stack);\n return;\n }\n\n this.log(args);\n if (arguments.callee != undefined) {\n this.trace.apply(console, arguments.callee);\n }\n }\n\n time() {\n if(this.silencer) { return; }\n const args = this._insertParamToArguments(arguments); \n if (typeof console.time === 'function') {\n console.time.apply(console, args);\n return;\n }\n\n this.timeHolder = new Date();\n }\n\n timeEnd() {\n if(this.silencer) { return; }\n const args = this._insertParamToArguments(arguments);\n if (typeof console.timeEnd === 'function') {\n console.timeEnd.apply(console, args);\n return;\n }\n const diff = (new Date()) - this.timeHolder;\n this.log(`Took ${Math.floor(diff/(1000*60*60))} hours, ${Math.floor(diff/(1000*60))} minutes and ${Math.floor(diff/(1000))} seconds ( ${diff} ms)`);\n this.time = new Date();\n }\n\n error() {\n const args = this._insertParamToArguments(arguments);\n if (typeof console.error === 'function') {\n console.error.apply(console,args);\n return;\n }\n\n this.log('--- ERROR ---');\n this.log(args);\n }\n\n\n warn() {\n const args = this._insertParamToArguments(arguments);\n if (typeof console.warn === 'function') {\n console.warn.apply(console,args);\n return;\n }\n\n this.log('--- WARN ---');\n this.log(args);\n }\n}\n\nexport default ConsoleShim;","/* eslint-disable no-alert, no-console */\n\n/**\n * Check the browsers console capabilities and bundle them into general functions\n * If the build environment was \"production\" only put out error messages.\n */\nimport ConsoleShim from '../../../meta/lib/ConsoleShim.js';\n\nconst LOG = new ConsoleShim('adminsidepanel');\n\nif(!window.debugState.backend) {\n LOG.setSilent(true);\n}\n\nconst PluginLog = function (Vue) {\n Vue.prototype.$log = LOG;\n};\n\nexport {PluginLog, LOG};\n","import ajax from '../mixins/runAjax';\nimport {LOG} from '../mixins/logSystem';\n\nexport default {\n updatePjax({commit}) {\n $(document).trigger('pjax:refresh'); \n commit('newToggleKey');\n },\n getSidemenus(context) {\n return new Promise((resolve, reject) => {\n ajax.methods.get(window.SideMenuData.getMenuUrl, { position: \"side\" }).then(\n result => {\n LOG.log(\"sidemenues\", result);\n const newSidemenus = LS.ld.orderBy(\n result.data.menues,\n a => {\n return parseInt(a.order || 999999);\n },\n [\"desc\"]\n );\n context.commit('updateSidemenus', newSidemenus);\n context.dispatch('updatePjax');\n resolve();\n })\n .catch((error) => {reject(error)});\n }\n );\n },\n getCollapsedmenus(context) {\n return new Promise((resolve, reject) => {\n ajax.methods.get(window.SideMenuData.getMenuUrl, { position: \"collapsed\" }).then(\n result => {\n LOG.log(\"quickmenu\", result);\n const newCollapsedmenus = LS.ld.orderBy(\n result.data.menues,\n a => {\n return parseInt(a.order || 999999);\n },\n [\"desc\"]\n );\n context.commit('updateCollapsedmenus', newCollapsedmenus);\n context.dispatch('updatePjax');\n resolve();\n })\n .catch((error) => {reject(error)});\n }\n );\n },\n getQuestions(context) {\n return new Promise((resolve, reject) => {\n ajax.methods.get(window.SideMenuData.getQuestionsUrl).then(result => {\n LOG.log(\"Questions\", result);\n const newQuestiongroups = result.data.groups;\n context.commit(\"updateQuestiongroups\", newQuestiongroups);\n context.dispatch('updatePjax');\n resolve();\n })\n .catch((error) => {reject(error)});\n });\n },\n collectMenus(context) {\n return Promise.all([\n context.dispatch('getSidemenus'),\n context.dispatch('getCollapsedmenus'),\n ]);\n },\n unlockLockOrganizer(context) {\n //context.commit(\"setAllowOrganizer\", context.state.allowOrganizer);\n return new Promise((resolve, reject) => {\n ajax.methods.post(\n window.SideMenuData.unlockLockOrganizerUrl,\n { \n setting : 'lock_organizer',\n newValue : context.state.allowOrganizer ? '0' : '1'\n }\n ).then(\n result => {\n LOG.log('setUsersettingLog', result);\n context.commit(\"setAllowOrganizer\", parseInt(result.data.result));\n }).catch((error) => {reject(error)});}\n );\n },\n changeCurrentTab(context, payload) {\n context.commit(\"changeCurrentTab\", payload);\n context.dispatch('collectMenus');\n context.dispatch('getQuestions');\n }\n}\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport VuexPersistence from 'vuex-persist';\nimport VueLocalStorage from 'vue-localstorage';\n\nimport statePreset from './state';\nimport getters from './getters';\nimport mutations from './mutations';\nimport actions from './actions';\n\nVue.use(VueLocalStorage);\nVue.use(Vuex);\n\n\nconst getAppState = function (userid,surveyid) {\n const AppStateName = 'limesurveyadminsidepanel';\n const vuexLocal = new VuexPersistence({\n key: AppStateName+'_'+userid+'_'+surveyid,\n storage: window.sessionStorage\n });\n\n\n return new Vuex.Store({\n state: statePreset(userid),\n plugins: [\n vuexLocal.plugin\n ],\n getters,\n mutations,\n actions\n });\n};\n\nexport default getAppState;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\" loader--loaderWidget ls-flex ls-flex-column align-content-center align-items-center\",staticStyle:{\"min-height\":\"100%\"},attrs:{\"id\":'loader-'+_vm.id}},[_c('div',{staticClass:\"ls-flex align-content-center align-items-center\"},[_c('div',{staticClass:\"loader-adminpanel text-center\",class:_vm.extraClass},[_vm._m(0)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"contain-pulse animate-pulse\"},[_c('div',{staticClass:\"square\"}),_c('div',{staticClass:\"square\"}),_c('div',{staticClass:\"square\"}),_c('div',{staticClass:\"square\"})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./loader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./loader.vue?vue&type=template&id=d2d9edba&scoped=true&\"\nimport script from \"./loader.vue?vue&type=script&lang=js&\"\nexport * from \"./loader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./loader.vue?vue&type=style&index=0&id=d2d9edba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2d9edba\",\n null\n \n)\n\nexport default component.exports","//globals formId\nimport Vue from \"vue\";\nimport Sidebar from \"./components/sidebar.vue\";\nimport getAppState from \"./store/vuex-store.js\";\nimport {PluginLog} from \"./mixins/logSystem.js\";\nimport Loader from './helperComponents/loader.vue';\n\n//Ignore phpunits testing tags\nVue.config.ignoredElements = [\"x-test\"];\nVue.config.devtools = true;\n\nVue.use(PluginLog);\n\nVue.component('loader-widget', Loader);\n\nVue.mixin({\n methods: {\n updatePjaxLinks: function () {\n this.$forceUpdate();\n this.$store.commit('newToggleKey');\n },\n redoTooltips: function () {\n window.LS.doToolTip();\n },\n translate(string){\n return window.SideMenuData.translate[string] || string;\n }\n },\n filters: {\n translate(string){\n return window.SideMenuData.translate[string] || string;\n }\n }\n});\n\nconst Lsadminsidepanel = (userid, surveyid) => {\n const AppState = getAppState(userid, surveyid);\n const panelNameSpace = {};\n\n const applySurveyId = (store) => {\n if (surveyid != 0) {\n store.commit(\"updateSurveyId\", surveyid);\n }\n };\n\n const controlWindowSize = () => {\n const adminmenuHeight = $(\"body\").find(\"nav\").first().height();\n const footerHeight = $(\"body\").find(\"footer\").last().height();\n const menuHeight = $(\".menubar\").outerHeight();\n const inSurveyOffset = adminmenuHeight + footerHeight + menuHeight + 25;\n const windowHeight = window.innerHeight;\n const inSurveyViewHeight = windowHeight - inSurveyOffset;\n const bodyWidth = (1 - (parseInt($('#sidebar').width()) / $('#vue-apps-main-container').width())) * 100;\n const collapsedBodyWidth = (1 - (parseInt('98px') / $('#vue-apps-main-container').width())) * 100;\n const inSurveyViewWidth = Math.floor($('#sidebar').data('collapsed') ? bodyWidth : collapsedBodyWidth) + '%';\n\n panelNameSpace[\"surveyViewHeight\"] = inSurveyViewHeight;\n panelNameSpace[\"surveyViewWidth\"] = inSurveyViewWidth;\n $('#fullbody-container').css({\n //'height': inSurveyViewHeight,\n 'max-width': inSurveyViewWidth,\n 'overflow-x': 'auto'\n });\n }\n\n const createSideMenu = () => {\n return new Vue({\n el: \"#vue-sidebar-container\",\n store: AppState,\n components: {\n sidebar: Sidebar,\n },\n created() {\n $(document).on(\"vue-sidebar-collapse\", () => {\n this.$store.commit(\"changeIsCollapsed\", true);\n });\n },\n mounted() {\n applySurveyId(this.$store);\n\n const maxHeight = $(\"#in_survey_common\").height() - 35 || 400;\n this.$store.commit(\"changeMaxHeight\", maxHeight);\n this.$store.commit(\"setAllowOrganizer\", window.SideMenuData.allowOrganizer);\n this.updatePjaxLinks();\n\n\n $(document).on(\"vue-redraw\", () => {\n this.updatePjaxLinks();\n });\n\n $(document).trigger(\"vue-reload-remote\");\n }\n });\n };\n\n const applyPjaxMethods = () => {\n panelNameSpace.reloadcounter = 5;\n $(document)\n .off(\"pjax:send.panelloading\")\n .on(\"pjax:send.panelloading\", () => {\n $('
').appendTo(\"body\");\n $(\n \".ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-draggable.ui-resizable\"\n ).remove();\n $(\"#pjax-file-load-container\")\n .find(\"div\")\n .css({\n width: \"20%\",\n display: \"block\"\n });\n LS.adminsidepanel.reloadcounter--;\n });\n\n $(document)\n .off(\"pjax:error.panelloading\")\n .on(\"pjax:error.panelloading\", event => {\n // eslint-disable-next-line no-console\n console.ls.log(event);\n });\n\n $(document)\n .off(\"pjax:complete.panelloading\")\n .on(\"pjax:complete.panelloading\", () => {\n if (LS.adminsidepanel.reloadcounter === 0) {\n location.reload();\n }\n });\n $(document)\n .off(\"pjax:scriptcomplete.panelloading\")\n .on(\"pjax:scriptcomplete.panelloading\", () => {\n $(\"#pjax-file-load-container\")\n .find(\"div\")\n .css(\"width\", \"100%\");\n $(\"#pjaxClickInhibitor\").fadeOut(400, function () {\n $(this).remove();\n });\n $(document).trigger(\"vue-resize-height\");\n $(document).trigger(\"vue-reload-remote\");\n // $(document).trigger('vue-sidemenu-update-link');\n setTimeout(function () {\n $(\"#pjax-file-load-container\")\n .find(\"div\")\n .css({\n width: \"0%\",\n display: \"none\"\n });\n }, 2200);\n });\n\n };\n\n const createPanelAppliance = () => {\n window.singletonPjax();\n if (document.getElementById(\"vue-sidebar-container\")) {\n panelNameSpace['sidemenu'] = createSideMenu();\n }\n $(document).on(\"click\", \"ul.pagination>li>a\", () => {\n $(document).trigger('pjax:refresh');\n });\n\n controlWindowSize();\n window.addEventListener(\"resize\", LS.ld.debounce(controlWindowSize, 300));\n $(document).on(\"vue-resize-height\", LS.ld.debounce(controlWindowSize, 300));\n applyPjaxMethods();\n\n }\n\n LS.adminCore.addToNamespace(panelNameSpace, 'adminsidepanel');\n\n return createPanelAppliance;\n};\n\n\n\n$(document).ready(function(){\n let surveyid = 'newSurvey';\n if(window.LS != undefined) {\n surveyid = window.LS.parameters.$GET.surveyid || window.LS.parameters.keyValuePairs.surveyid;\n }\n if(window.SideMenuData) {\n surveyid = window.SideMenuData.surveyid;\n }\n\n window.adminsidepanel = window.adminsidepanel || Lsadminsidepanel(window.LS.globalUserId, surveyid);\n\n window.adminsidepanel();\n});\n\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","var core = module.exports = { version: '2.6.10' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function () { /* empty */ };\n","module.exports = {};\n","module.exports = require(\"core-js/library/fn/object/define-property\");","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_questionsgroups.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_questionsgroups.vue?vue&type=style&index=0&lang=scss&\"","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","module.exports = require('./_hide');\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","/*!\n * Vue.js v2.6.10\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a string containing static keys from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Techinically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.